今まで、単項+
演算子は使えないと思っていました。
しかし、その後、次の例に出くわしました:
char ch;
short sh;
int i;
printf("%d %d %d",sizeof(ch),sizeof(sh),sizeof(i)); // output: 1 2 4
printf("%d %d %d",sizeof(+ch),sizeof(+sh),sizeof(i)); // output: 4 4 4
+
ここで型変換をしているということですか?
以下と同じ振る舞いをしているため
printf("%d %d %d",sizeof((int)ch),sizeof((int)sh),sizeof(i)); // output: 4 4 4
+
これにより、型変換を行っていると思わざるを得なくなります。
しかし、私はそれを試してみますdouble
double f;
printf("%d %d",sizeof(+f),sizeof((int)f),sizeof(f)); // output: 8 4 8
これにより、単項演算子について再考する必要があり+
ます。
だから私の2番目の質問は: 単項+
演算子は演算子に特別な効果がありsizeof
ますか?