我是C ++ 14 std::index_sequence
的新手。结构的size
成员是什么意思?无论我创造了多少元素,它总是返回一个。
std::integer_sequence<int, 1, 2, 3>::size => 1
std::index_sequence<8, 7, 1, 5>::size => 1
我虽然返回值应该是3和4(该序列的元素数)。
答案 0 :(得分:13)
std::integer_sequence::size
是一个函数,因此您需要调用它:
std::integer_sequence<int, 1, 2, 3>::size() => 3
您可能会看到1
,因为如果您编写类似
std::cout << std::integer_sequence<int, 1, 2, 3>::size;
然后该函数将被隐式转换为函数指针,然后转换为bool
,并且该值将为true
,因为指针不为空。