2013-01-01 15 views
10

Powiel możliwe:
What does the word “literal” mean?Co to jest "dosłowny" w C++?

Często podczas czytania literatury o C++, spotykam słowo "dosłownego". Nie jest dla mnie jasne, co dokładnie oznacza ten termin w C++.

+2

http://pl.wikipedia.org/wiki/Literal_%28computer_programming%29 –

+0

** Zobacz także: ** http://stackoverflow.com/questions/485119/what-does-the-word-literal- mean –

+0

Uwaga: Nie mylić z słowem kluczowym [C++/CLI] (https://msdn.microsoft.com/en-us/library/5yzft952.aspx): "Zmienna (element danych) oznaczona jako literał w kompilacji/clr jest rodzimym odpowiednikiem statycznej zmiennej stałej. " – jrh

Odpowiedz

32

Dosłowne to niektóre dane przedstawione bezpośrednio w kodzie, a nie pośrednio poprzez wywołanie zmiennej lub funkcji.

Oto kilka przykładów, po jednej w wierszu:

42 
128 
3.1415 
'a' 
"hello world" 

Dane stanowiące dosłownym nie mogą być modyfikowane przez program, ale może być kopiowana do zmiennej do dalszego użytku:

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

This concept is by no means unique to C++.

Termin "dosłowny" pochodzi z faktu, że zapisałeś dane literally w swoim programie, tj. Dokładnie tak, jak zostały napisane, a nie "ukryte" za nazwą zmiennej.

+2

+1 Ładna odpowiedź! – AminM

6

Wikipedia daje szybko to informacje o literals.

W swoim kodzie źródłowym C lub C++ rzeczy takie jak 1234, nullptr (w ostatnim C++), "abcd" są literałami.

+2

'nullptr' jest słowem kluczowym, nie? –

+7

@OliCharlesworth: "nullptr: Dosłowny wskaźnik to słowo kluczowe nullptr." (§2.14.7) - wydaje się być jednym i drugim. – Mat

+0

@Mat: Oh, ciekawe! –