Информация об изменениях

Сообщение Re[6]: Члены класса и aliasing от 05.05.2020 10:36

Изменено 05.05.2020 10:38 andrey.desman

Re[6]: Члены класса и aliasing
Здравствуйте, Шахтер, Вы писали:

Ш>Это почему? Каст (int *)&ca полностью легален.


В плюсах не легален. Это ж как раз aliasing.

Ш>Хотя лучше сделать так &ca->val . Здесь то уж точно никакого криминала.


Так да, но там речь шла про private член, так что просто не сможешь.
Но всегда можно геттер запилить, чтобы он этот адрес возвращал, так что приватность не роялит никак.
Re[6]: Члены класса и aliasing
Здравствуйте, Шахтер, Вы писали:

Ш>Это почему? Каст (int *)&ca полностью легален.


В плюсах не легален. Это ж как раз aliasing. Точнее, сам каст-то легален, но пользоваться им нельзя.

Ш>Хотя лучше сделать так &ca->val . Здесь то уж точно никакого криминала.


Так да, но там речь шла про private член, так что просто не сможешь.
Но всегда можно геттер запилить, чтобы он этот адрес возвращал, так что приватность не роялит никак.