Sono abbastanza sicuro che la categoria di valore di letterali integer, character, boolean e floating point sia prvalore.Qual è la categoria del valore di stringhe letterali?
I valori letterali definiti dall'utente sono come le chiamate di funzione, pertanto la loro categoria di valore dipende dal tipo di ritorno della funzione dell'operatore a cui si risolve.
Non sono chiaro su stringhe letterali. Hanno tipo "array of const charx" dove charx è un tipo di carattere.
Si dice nel 3.10:
Il valore di un letterale ... è anche un prvalue.
Ma penso che questo potrebbe non essere valido per stringhe letterali?
Qual è la categoria di valore di una stringa letterale? Come lo hai determinato?
Questo non ha senso per me. Perché una stringa letterale dovrebbe essere un lvalue e non un valore? –
@RemyLebeau: Perché è un oggetto. Ad esempio, puoi prendere il suo indirizzo, qualcosa che non puoi fare con un intero o un letterale in virgola mobile. http://liveworkspace.org/code/UAvdz$3 –
@RemyLebeau: Perché fondamentalmente _ deve avere spazio di archiviazione. –