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

Сообщение Re: Безопасно ли присваивать один указатель другому?.. от 22.03.2018 19:11

Изменено 22.03.2018 19:14 Alexander G

Re: Безопасно ли присваивать один указатель другому?..
Здравствуйте, okman, Вы писали:

O>Или такое присваивание всегда безопасно, даже если сами указатели содержат null или "мусор"?


Я бы не стал присваивать неинициализированный мусор, потому что инструменты статического анализа кода имеют право дважды ругнуться.
Во-первых, мы используем значение неинициализированной переменной.
Во-вторых, мы же потом не разыменовываем целевой указатель, так? Вот и неиспользованное присвоенное значение.

Что до легальности с точки зрения С/С++.
Есть такая штука, как signaling NaN.
Она может привести к тому, что следующее присвоение упадёт:
float f1;
float f2;
f2 = f2;

Если под это есть "законодательная база" в С/С++, то, возможно, она применима и к указателям.
Re: Безопасно ли присваивать один указатель другому?..
Здравствуйте, okman, Вы писали:

O>Или такое присваивание всегда безопасно, даже если сами указатели содержат null или "мусор"?


Я бы не стал присваивать неинициализированный мусор, потому что инструменты статического анализа кода имеют право дважды ругнуться.
Во-первых, мы используем значение неинициализированной переменной.
Во-вторых, мы же потом не разыменовываем целевой указатель, так? Вот и неиспользованное присвоенное значение.

Что до легальности с точки зрения С/С++.
Есть такая штука, как signaling NaN.
Она может привести к тому, что следующее присвоение упадёт:
float f1;
float f2;
f2 = f1;

Если под это есть "законодательная база" в С/С++, то, возможно, она применима и к указателям.