Строковый литерал (string literal) — это последовательность символов, заключенных в двойные кавычки, например "Knuth" и "King Canute". Строковый литерал нельзя произвольно разбивать на несколько строк; для перехода на новую строку используется специальный символ \n.
"King
Canute " // ошибка: переход на новую строку в строковом литерале
"King\nCanute" // OK: правильный переход на новую строку
Два строковых литерала, разделенных только одним пробелом, считаются одним строковым литералом. Рассмотрим пример.
"King" "Canute" // эквивалентно "KingCanute" (без пробела)
Обратите внимание на то, что специальные символы, такие как \n, могут входить в строковые литералы.
Указательные литералы
Существует только один указательный литерал (pointer literal): нулевой указатель (0). В качестве нулевого указателя можно использовать любое константное выражение, равное 0 .
t* p1 = 0; // OK: нулевой указатель
int* p2 = 2-2; // OK: нулевой указатель
int* p3 = 1; // ошибка: 1 — int, а не указатель
int z = 0;
int* p4 = z; // ошибка: z — не константа
В данном случае значение 0 неявно превращается в нулевой указатель. Как правило (но не всегда), нулевой указатель представляется в виде битовой маски, состоящей из одних нулей, как и число 0.
В языке C++ (но не в языке C, поэтому будьте осторожны с заголовками языка C) литерал NULL по определению равен 0, поэтому можно написать следующий код:
int* p4 = NULL; // (при правильном определении литерала NULL)
// нулевой указатель
В языке C++0x нулевой указатель будет обозначаться ключевым словом nullptr. А пока рекомендуем использовать для этого число 0.
Опубликовал katy
May 01 2015 11:50:22 ·
0 Комментариев ·
3268 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.