【发布时间】:2020-02-12 19:56:13
【问题描述】:
tuple <int, string, int> x=make_tuple(1, "anukul", 100);
cout << x[0]; //1
cout << get<0>(x); //2
2 作品。 1 没有。
为什么会这样?
我从 Lounge C++ 了解到,这可能是因为编译器不知道该索引处存储的数据类型。 但这对我来说没有多大意义,因为编译器可以只查找该元组的声明并确定数据类型,或者在通过索引访问其他数据结构的元素时执行其他任何操作。
【问题讨论】:
-
顺便说一句,恕我直言,正确的模式应该是
x.0 -
@PaoloM 除了函数名不能以数字开头。
-
重复?这是一个漫长的过程!
-
@UmNyobe 嗯,我不知道社区为什么要这样做?但是无法做到这一点的原因非常在其他问题的答案中有很好的记录。
-
@TartanLlama 我的意思是
std::tuple更像是一个未命名的结构而不是一个数组