2013-01-01 10 views
10

Eventuali duplicati:
What does the word “literal” mean?Che cos'è un "letterale" in C++?

Spesso, quando la lettura di letteratura su C++, ho incontrato la parola "letterale". Non è chiaro per me cosa significhi esattamente questo termine in C++.

+2

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

+0

** Vedere anche: ** http://stackoverflow.com/questions/485119/what-does-the-word-literal- media –

+0

Nota: da non confondere con [C++/CLI 'literal' keyword] (https://msdn.microsoft.com/en-us/library/5yzft952.aspx):" Una variabile (membro dati) contrassegnata come letteral in a/clr la compilazione è l'equivalente nativo di una variabile const statica. " – jrh

risposta

32

Un letterale è alcuni dati che vengono presentati direttamente nel codice, piuttosto che indirettamente tramite una chiamata di variabile o funzione.

Ecco alcuni esempi, uno per riga:

42 
128 
3.1415 
'a' 
"hello world" 

I dati costituiscono un letterale non può essere modificata da un programma, ma esso può essere copiata in una variabile per un ulteriore uso:

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

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

Il termine "letterale" deriva dal fatto che hai scritto i dati literally nel tuo programma, cioè esattamente come scritto, non "nascosto" dietro il nome di una variabile.

+2

+1 bella risposta! – AminM

6

Wikipedia fornisce rapidamente questo su literals.

Nel codice sorgente C o C++, cose come 1234, nullptr (nel recente C++), "abcd" sono letterali.

+2

'nullptr' è una parola chiave, no? –

+7

@OliCharlesworth: "nullptr: il puntatore letterale è la parola chiave nullptr." (§2.14.7) - sembra essere entrambi. – Mat

+0

@Mat: Oh, interessante! –

Problemi correlati