std::array<const T, N>
和const std::array<T, N>
之间有实际区别吗?
看起来,持有常量元素的非const数组仍然无法交换;赋值运算符也不起作用。
在什么情况下应该优先考虑其中之一?
#include <array>
std::array<const int, 5> array_of_const = {1,2,3,4,5};
std::array<const int, 5> array_of_const2 = {1,2,3,4,5};
const std::array<int, 5> const_array = {1,2,3,4,5};
const std::array<int, 5> const_array2 = {1,2,3,4,5};
int main()
{
// Assignment doesn't work for either
array_of_const = array_of_const2;
const_array = const_array2;
// Swapping doesn't work for either
array_of_const.swap(array_of_const2);
const_array.swap(const_array2);
// Indexing...
array_of_const[0] = 0;
const_array[0] = 0;
return 0;
};
[language-lawyer]
实际上并未被 OP 添加。 - apple apple