01 · 先看问题,再选容器
选择最接近的情境。建议关注“表达意图”与“长度是否变化”,而不只看能否存放数据。
std::string
它直接表达文本意图,并提供查找、拼接与长度管理;无需用字符数组手工维护结尾标记。
| 类型 | 长度 | 主要语义 |
|---|---|---|
string | 可变 | 文本 |
vector | 可变 | 动态同类元素 |
array | 固定 | 安全的固定序列 |
T[N] | 固定 | 底层互操作;易退化为指针 |
02 · 读懂 () 与 {}
这里只展示标准定义的结果,不执行输入的任意代码。选一个表达式观察元素个数与内容。
std::vector<int> a(3);size = 3圆括号中的单个整数表示“创建多少个元素”。int 元素被值初始化为 0。
边界:局部
int data[4]; 的元素具有不确定值。在给每个元素赋值前读取它们会产生未定义行为,所以实验台不会显示或猜测这些值。{ }
花括号更像“给出元素清单”;圆括号对 vector 常用于指定数量与重复值。遇到相似写法时,先问:参数是在描述容器,还是在列举元素?