#include <iostream>
int main()
{
std::cout<<sizeof(0);
return 0;
}
Here, sizeof(0) is 4 in C++ because 0 is an integer rvalue.
But, If I write like this:
std::cout<<sizeof(!0);
here, sizeof(!0) is 1. But, !0 means it print 1, which is also, int type.
then, Why does sizeof(!0) print 1 instead of 4? What am I miss here?