const std::string s1 = "abc";
const std::string & s2 = "abc";
Ist die Definition von s2
legal? Wenn ja, was ist der Unterschied zwischen s1
y s2
?
Merci.
const std::string s1 = "abc";
const std::string & s2 = "abc";
Ist die Definition von s2
legal? Wenn ja, was ist der Unterschied zwischen s1
y s2
?
Merci.
Ja, s2 ist legal. s2 ist an eine temporäre std::string gebunden und verlängert die Lebensdauer der temporären Variablen. s1 ist keine temporäre Variable, sondern eine benannte Variable.
Siehe 12.2/5:
Der zweite Kontext ist, wenn ein an ein Provisorium gebunden ist. Das Provisorium an das die Referenz gebunden ist, oder das Temporär, das das vollständige Objekt ist an ein Unterobjekt, an das das Temporär gebunden ist, bleibt während der Lebensdauer der der Referenz, außer wie unten angegeben unten.
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.