#include <vector>
using namespace std;
struct A
{
vector<int> coll;
};
void f(const vector<int>&){}
void f(vector<int>&&){}
int main()
{
f(A().coll); // Is "A().coll" an xvalue?
}
C++ 11保證f(A().coll)
會叫void f(vector<int>&&)
?C++ 11中的臨時對象是一個xvalue的數據成員嗎?
高度相關:http://stackoverflow.com/questions/35947296/about-binding-a-const-reference-to-a-sub-object-of-a-temporary – NathanOliver
[GCC編譯的Ideone.com] (http://ideone.com/z9lpCD)似乎覺得'coll'是一個xvalue。 – Xirema