7
在C++ 11中,是否允許使用std :: tie進行隱式轉換?std :: tie是否允許隱式轉換?
以下代碼編譯並運行,但我不確定幕後究竟發生了什麼,或者這是否安全。
std::tuple<float,float> foo() { return std::make_tuple(0,0); }
double a, b;
std::tie(a,b) = foo(); // a and b are doubles but foo() returns floats
也許最好提一下,隱式轉換髮生在'operator ='主體內部,因爲在參數推導'UTypes ...'時,隱式轉換將被忽略。 – TemplateRex