len*_*dor 8 c++ tuples c++11 stdtuple
在c ++ 11中,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
Run Code Online (Sandbox Code Playgroud)
AnT*_*AnT 15
会发生什么是使用元组的移动赋值运算符的模板版本
template< class... UTypes >
tuple& operator=(tuple<UTypes...>&& other );
Run Code Online (Sandbox Code Playgroud)
哪个移动 - 使用自己的移动分配语义逐个分配单个元组成员.如果相应的成员可以隐式转换 - 它们会被隐式转换.
这基本上是类似功能的自然延伸std::pair,我们已经享受了很长一段时间.
| 归档时间: |
|
| 查看次数: |
419 次 |
| 最近记录: |