Что такое "буквальный" на С++?

Возможный дубликат:
Что означает слово "буквальный" ?

Часто при чтении литературы о С++ я встречаю слово "буквальный". Мне немного непонятно, что именно означает этот термин в С++.

Ответ 1

Литерал - это некоторые данные, которые представлены непосредственно в коде, а не косвенно через вызов переменной или функции.

Вот несколько примеров: по одной в строке:

42
128
3.1415
'a'
"hello world"

Данные, составляющие литерал, не могут быть изменены программой, но могут быть скопированы в переменную для дальнейшего использования:

int a = 42;  // creates variable `a` with the same value as the literal `42`

Эта концепция никоим образом не уникальна для С++.

Термин "литерал" исходит из того факта, что вы записали данные literally в вашу программу, то есть точно так же, как написано, а не "скрыто" за имя переменной.

Ответ 2

Википедия быстро дает вам информацию о литералах.

В исходном коде C или С++ такие вещи, как 1234, nullptr (в последнем С++), "abcd" являются литералами.