Я читаю 4-е издание праймера по C ++ от Стэнли Липманна, и я на странице 92, посвященной инициализации значения.
Я просто не понимаю, когда речь идет об инициализации значения. Я просмотрел и знаю, что есть также инициализация по умолчанию и инициализация нуля. Может ли кто-нибудь объяснить об инициализации значения?
Переходя к этому параграфу ..
пункт a)
«Некоторые классы не определяют значение по умолчанию. конструктор. Мы не можем инициализировать вектор такого типа, указав только размер, мы также должны указать начальное значение "
Я понимаю сказанное выше, но считаю, что приведенное ниже противоречит приведенному выше предложению.
пункт b)
" Тип элемента может относиться к типу класса это не определяет никаких конструкторов. В этом случае библиотека по-прежнему создает объект, инициализированный значением. Это делает это путем инициализации каждого значения org / STPrivilegedTask
Проблема в том, что моя NSTask выполняет некоторые сложные операции чтения / записи (не присутствующие в STPrivilegedTask) и не требует всех привилегий.
Поэтому я написал небольшой вспомогательный инструмент на языке c, который вызывает мой сценарий с правильные параметры из моего приложения. Решение, которое я подумал, - использовать STPrivilegedTask для SUID после запуска моего небольшого вспомогательного инструмента, чтобы я мог запустить его (и, следовательно, мой скрипт и dd) с root, и вскоре после успешного запуска я вернул вспомогательный инструмент на не SUID ( и я делаю то же самое, если возникнет какая-либо ошибка, при выходе из приложения, запуске приложения и т. д., чтобы быть безопаснее).
Я реализовал его и работает довольно хорошо, возможно, он не идеален, но я думаю, что все внутри пакета и работает с помощью вспомогательного инструмента в SUID только для запуска звучит достаточно безопасно.
Есть мысли?
Спасибо!