У меня есть следующее
struct dweDMPair {
const dweller *occu;
const double sqDM;
float prob;
dweDMPair(dweller *inOccu, double sqdm) : occu(inOccu), sqDM(sqdm) {} };
Я хочу вернуть массив указателей на эти объекты, но хочу, чтобы они не были случайно удалены клиентом.Или, может быть, нет, просто попробуйте эту итерацию проекта.
Мой вопрос заключается в том, существует ли (очень лаконичный и аккуратный) способ указания (как я проиллюстрировал с префиксом const), что члены являются тольконазначен в конструкторе?
Я знаю, что private / public и интерфейс / методы могут это отсортировать, но, к сожалению, как далеко можно использовать ключевое слово const
?
_ РЕДАКТИРОВАТЬ _
Наваз, моя цель - просто инициализировать 2 из 3 элементов данных только один раз, в конструкторе.Затем я могу экспортировать этот экземпляр как const dweDMPair * ptrToVal, чтобы клиент не мог затем вызвать delete - потому что это не сработает с указателями на экземпляры const, не так ли?Затем клиент продолжит указывать свое значение для третьего члена prob
.да, я знаю, что функции обеспечивают защиту, но я хочу ее быстрее.
Члены не могут быть статичными, но могут быть членами экземпляра.Если вам интересно ...