我意识到这是非常基本的,但有人会介意解释这两个数组声明之间的区别:
#include <array>
array<int, 5> myints;
Run Code Online (Sandbox Code Playgroud)
...和:
int myints[5];
Run Code Online (Sandbox Code Playgroud)
......以及为什么myints.size()使用第一个声明而不是第二个声明.
int myints[5];
Run Code Online (Sandbox Code Playgroud)
这是一个由五个整数组成的数组.
它是C和C++中的基本语言结构.
内置类型没有成员函数.
std::array<int, 5> myints;
Run Code Online (Sandbox Code Playgroud)
这是标准库类 std::array<int, 5>
的实例(本身是标准库类模板 的实例std::array<T, N>).
它是基本数组的包装器,size()为方便起见提供了实用程序成员函数(例如).