Re[2]: Дурацкий вопрос
От: kov_serg Россия  
Дата: 24.11.24 10:55
Оценка: :)
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Здравствуйте, kov_serg, Вы писали:


_>>constexpr int c3=(char*)1-(char*)0;


PD>Насколько я понимаю, тут фактически reinterpret_cast.



PD>

PD>The following solution:

PD>class C {
PD>public:
PD> static constexpr const void* noop = reinterpret_cast<const void*>(0x1);
PD>};
PD>Although, it compiles and works fine in GCC isn't valid C++ (e.g., it doesn't compile with either clang or VC++2013) because according to the standard § 5.19/2 Constant Expressions [expr.const] the result of a reinterpret_cast can't be a constant expression.


PD>https://stackoverflow.com/questions/24397797/statically-casting-an-integer-to-pointer-type


Это понятно, что сделано максимально через жопу, но в чем сакральный смысл так делать? Почему 1 не константа?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.