Java本地表情包生成器:纯AWT/Swing图像合成实战
2026/10/23 4:44:17
标准库:集合或者动态数组,我们可以把若干对象放在里边
vector能把其他对象装进来,也称为容器
#include<vector>// 表示的是vint里边保存的是int型数据(int型对象)vector<int>vint;// <int>:模板, vector本身就是类模板,<int>实际上就是类模板的实例化过程#include<iostream>#include<string>#include<vector>structstudent{intnum;};using namespace std;intmain(){vector<student>stulist;// 容器vector里面有都是一个vector<string>对象,集合套集合,用法可行vector<vector<string>>vecVecStr;// 往容器中装指针vector<int*>vpoints;// 引用是个别名,不是个对象,不是对象不能往容器中放,不可行// vector<int &> vyinyong;return0;}#include<iostream>#include<string>#include<vector>using namespace std;intmain(){// 创建了一个string类型的空的vector对象(容器),目前vStr里不包含任何元素vector<string>vStr;vStr.push_back("I AM");vStr.push_back("Felaim");return0;}#include<iostream>#include<string>#include<vector>using namespace std;intmain(){vector<string>vStr;vStr.push_back("I AM");vStr.push_back("Felaim");// 把元素拷贝给了vStr1和vStr2vector<string>vStr1(vStr);vector<string>vStr2=vStr;return0;}#include<iostream>#include<string>#include<vector>using namespace std;intmain(){vector<string>vStr{"111","hahha","FELAIM"};return0;}#include<iostream>#include<string>#include<vector>using namespace std;intmain(){// 创建15个int类型的元素,每个元素的值是99vector<int>vint(15,99);vector<string>vstr(5,"LOVE");vector<int>vint1(4);//定义4个元素,每个元素为0vector<string>vstr1(5);//定义5个元素,每个元素都为空串return0;}#include<iostream>#include<string>#include<vector>using namespace std;intmain(){vector<int>i1(10);//定义是10个元素,每个元素为0vector<int>i2{10};//定义一个元素,该元素值为10vector<string>snor{"hello"};//一个元素, "hello"vector<string>vs{10};//定义了10个空字符串vector<string>vs1{10,"love"};//10个元素,都为"love"vector<int>i3(10,1);//10个元素都为1vector<int>i4{10,2};//两个元素,一个为10,一个为2,等同于初始化列表// 要想正常的通过{}进行初始化,那么{}里边的值的类型,必须要跟vector后边这个<>里边元素类型相同return0;}vector<int> vint;if(vint.empty()){cout<<"vint is empty!"<<endl;}else{cout<<"vint is not empty!"<<endl;}vint.push_back(1);vint.push_back(99);cout<<"vint size is: "<<vint.size()<<endl;vint.clear();for(inti=0;i<10;i++){vint.push_back(i);}cout<<vint[1]<<endl;vint1=vint;vector<int>vint2=vint;if(vint2==vint){cout<<"vint2 = vint !"<<endl;}vint2.push_back(1);if(vint2!=vint){cout<<"vint2 != vint !"<<endl;}vint.clear();vint2.clear();if(vint2==vint){cout<<"vint2 = vint !"<<endl;}vector<int>vint3{1,4,6,7};for(auto&v:vint3){v=v*v;}for(autov:vint3){cout<<v<<" ";}cout<<endl;#include<iostream>#include<string>#include<vector>using namespace std;intmain(){vector<int>vint;if(vint.empty()){cout<<"vint is empty!"<<endl;}else{cout<<"vint is not empty!"<<endl;}vint.push_back(1);vint.push_back(99);if(vint.empty()){cout<<"vint is empty!"<<endl;}else{cout<<"vint is not empty!"<<endl;}cout<<"vint size is: "<<vint.size()<<endl;vint.clear();cout<<"vint size is: "<<vint.size()<<endl;for(inti=0;i<10;i++){vint.push_back(i);}cout<<vint[1]<<endl;vector<int>vint1;vint1.push_back(12);vint1=vint;//vint1得到了10个元素,原来的元素被覆盖掉了vint1={1,3,10};cout<<vint1.size()<<endl;vector<int>vint2=vint;if(vint2==vint){cout<<"vint2 = vint !"<<endl;}vint2.push_back(1);if(vint2!=vint){cout<<"vint2 != vint !"<<endl;}vint.clear();vint2.clear();if(vint2==vint){cout<<"vint2 = vint !"<<endl;}vector<int>vint3{1,4,6,7};for(auto&v:vint3){v=v*v;}for(autov:vint3){cout<<v<<" ";}cout<<endl;return0;}#include<iostream>#include<string>#include<vector>using namespace std;intmain(){vector<int>vint3{1,4,6,7};// 第一次进入循环后,系统会记住vint3结束的位置, 如果vint3添加或删除元素// 输出的值就会混乱for(autov:vint3){vint3.push_back(111);//导致输出混乱,无法控制cout<<v<<" ";}cout<<endl;return0;}