В диапазоне для цикла во временном диапазоне Барри упомянул, что на следующее не влияет разрушенный временный объект, и я проверил член v действительно существует на протяжении всего -loop (так как Destructor ~ x не вызывался на протяжении всего -loop). Что такое объяснение? < /P>
struct X {
std::vector v;
~X()
{
}
};
X foo()
{
return X();
}
for (auto e : foo().v) {
// ok!
}
Подробнее здесь: https://stackoverflow.com/questions/725 ... d-for-loop