код:
#include<iostream>
using namespace std;
int main()
{
size_t i = sizeof new int;
cout<<i;
}
В компиляторе GCC работает нормально, без каких-либо предупреждений или ошибок и вывода на печать 8
.
Но в компиляторе clang я получил следующее предупреждение:
warning: expression with side effects has no effect in an unevaluated context [-Wunevaluated-expression]
size_t i = sizeof new int;
- Какая из них истинна?
- Является
sizeof new int;
неопределенное поведение?