- C++
vector入门到放弃1
- 2025-2-16 16:35:04 @
我来用超可爱的方式给你讲vector
的知识点~ 🌟(就像魔法书包一样哦!)
📚 vector是什么?
- 魔法书包:可以装很多很多东西(比如数字、字符串),还能自动变大变小!
- 和普通数组的区别:普通数组像固定大小的盒子,而vector是会变长的蛇🐍!
🎒 vector的魔法功能
1. 创建魔法书包(初始化)
#include <vector> // 必须带上这个魔法咒语
using namespace std;
vector<int> myBag; // 创建一个装整数的空书包
vector<string> candyBox = {"棒棒糖", "巧克力"}; // 已经有糖果的书包
2. 往书包里塞东西(添加元素)
myBag.push_back(10); // 书包里现在有[10]
myBag.push_back(20); // 变成[10, 20]
myBag.push_back(30); // 变成[10, 20, 30]
3. 看看书包里有什么(访问元素)
cout << myBag[0]; // 输出第一个元素:10(注意从0开始数!)
cout << myBag.at(1); // 输出第二个元素:20(更安全的写法)
⚠️ 注意:如果用myBag[5]
但书包只有3个元素,会报错!(就像伸手到空口袋找东西一样)
4. 书包现在有多重?(获取大小)
int weight = myBag.size(); // 返回3,因为现在有3个元素
5. 清空书包
myBag.clear(); // 哗啦!书包全空了~
🌟 高级魔法技巧
✨ 自动变长的秘密
当你用push_back()
时,vector会偷偷做两件事:
- 如果书包满了,它会找个更大的新书包,把旧东西复制过去。
- 新书包的大小通常是旧书包的两倍!(比如原来能装4个,现在能装8个)
🎨 初始化时指定大小
vector<int> scores(5); // 创建能装5个成绩的书包,默认都是0
vector<int> nums(3, 100); // 创建[100, 100, 100]
🔄 用循环遍历书包
for(int i=0; i<myBag.size(); i++) {
cout << myBag[i] << " ";
}
// 或者用魔法飞毯循环(C++11以上)
for(int num : myBag) {
cout << num << " ";
}
🚀 实际例子:装糖果
vector<string> candies;
candies.push_back("🍭");
candies.push_back("🍫");
candies.push_back("🍬");
cout << "我有" << candies.size() << "颗糖果:";
for(string candy : candies) {
cout << candy << " ";
}
// 输出:我有3颗糖果:🍭 🍫 🍬
💡 为什么用vector?
- 不用提前知道要装多少东西
- 添加/删除元素超方便
- 比普通数组更安全(比如可以用
at()
检查越界)
现在,你可以在绘画界面画一个会变长的蛇形书包,每次添加元素就画长一点~ 🐍🎒 想试试写代码吗?
0 条评论
目前还没有评论...