Собственно хочу понять механизм того что происходит с компилятором в C и C++ если объявить символ вот так 'a' и вот так "a".
Весь смысл изложен в этой программе
#include
int main()
{
printf("This is %s
", (sizeof('a') == sizeof(char)) ? "C++" : "C");
return 0;
}
в принципе понятно что происходит по факту, но не всовсем понятно как это работает изнутри.
Ответ
Пример в коде - классический пример различия между с и с++. В с++ символ в кавычках - это char. И размер его - 1. В си все приводится к int и размер 4.
А различие между одинарными и двойными кавычками просто - в одинарных - символ, в двойных - строка (массив char).
Самое интересное, что об этом даже в википедии написано:)
И почитать у Alena cpp
Комментариев нет:
Отправить комментарий