Was macht static_cast <T> mit einem T &?
Also habe ich gefragtdiese Frag und ich bastelte daran, es über @ zu lösstatic_cast
. (Übrigens löst es das Problem, ich bin mir nur nicht sicher, ob ich verstehe warum.)
Im Code:
vector<int> foo = {0, 42, 0, 42, 0, 42};
replace(begin(foo), end(foo), static_cast<int>(foo.front()), 13);
Ist derstatic_cast
einfach einen R-Wert konstruierenint
? Was ist der Unterschied zwischen dem und nur dem Anruf:
replace(begin(foo), end(foo), int{foo.front()}, 13);
BEARBEITEN
Wie aus den Antworten @ hervorgestatic_cast
does scheint einen R-Wert zu konstruierenint
: http: //ideone.com/dVPIh
Aber dieser Code machtnich Arbeit an Visual Studio 2015. Ist dies ein Compiler-Fehler? Hier testen:http: //webcompiler.cloudapp.net