Secondo la norma C++ di tipo letterale stringa è array of const char
C++ const correttezza con le stringhe
auto constStr = "aaa";
char* nonConstStr = constStr; //Error here, cannot convert from 'const char *' to 'char *'
char* stillNonConstStr = "aaa"; //Why I don't have error here?
Si può spiegare il motivo per cui me sulla linea 3 non ottengo un errore?
@Rapptz Non riesco a trovare la stessa clausola che consente la stessa "conversione retrocompatibilità" nello standard C++ 11. Suppongo che sia stato rimosso, quindi la domanda collegata non è realmente un duplicato al giorno d'oggi. – Angew
Perché è preferibile consentirlo come è stato consentito storicamente piuttosto che rompere migliaia di programmi esistenti. –
@Rapptz In che modo una domanda + risposta su C è una copia di una su C++? Soprattutto in un'area in cui le due lingue in realtà differiscono. – Angew