C++ 中 std::array 的 size() 和 max_size() 函数有什么区别?
array<int,5> arr{ 1, 2, 3, 4, 5 };
cout << arr.size();
/* Output : 5 */
array<int, 5> arr{ 1, 2, 3, 4, 5 };
cout << arr.max_size();
/* Output : 5 */
Run Code Online (Sandbox Code Playgroud)
C++ 中 std::array 的 size() 和 max_size() 函数有什么区别?
后者有前缀max_. 它们之间没有其他实际区别std::array。
差异是概念性的。size是容器中当前元素的数量,也是max_size容器可以拥有的元素数量的理论上限。由于 in 中的元素数量std::array是恒定的,因此当前元素数量与可能存在的元素数量完全相同。对于其他容器来说,存在实际差异。
使用 的max_size成员函数std::array在概念上是愚蠢的。它的存在std::array符合Container概念(例如命名需求),这允许它与其他容器统一使用,这在模板中很有用。
| 归档时间: |
|
| 查看次数: |
1237 次 |
| 最近记录: |