回答:可以,通过string的隐式构造函数
intmain() { std::vector<std::string> url_vector; url_vector.push_back("www.baidu.com"); url_vector.push_back("www.taobao.com"); url_vector.push_back("www.google.com"); constchar** urls =newconstchar*[url_vector.size() + 1]; for(size_t i = 0; i < url_vector.size(); ...
vector<char*> ch; vector<string> str; for(int i=0;i<5;i++) { char *c=fun1();//通过这个语句产生不同的字符串c ch.push_back(c); //输出发现,五个都是一样的数值,都是最后一个c的值 str.push_back(c); //正确的存储了 }
vector<string> svec; string str; cout<<"Enter strings:(Ctrl+Z to end)"<<endl; while(cin>>str) svec.push_back(str); char **parr=new char*[svec.size()]; size_t ix=0; for(vector<string>::iterator iter=svec.begin(); iter!=svec.end();++iter,++ix) { char*p=new char[(*iter...
char * 是一个指针 string是一个类,类内部封装了char*,管理这个字符串,是一个char*型的容器。 特点: string 类内部封装了很多成员方法 例如:查找find,拷贝copy,删除delete 替换replace,插入insert string管理char*所分配的内存,不用担心复制越界和取值越界等,由类内部进行负责 2.1.2 string构造函数 构造函数原型:...
vector<int> myVector; // 创建一个存储整数的 vector,名字为myVector vector<char> myVector; // 创建一个存储字符的 vector,名字为myVector vector<string> myVector; // 创建一个存储字符串的 vector,名字为myVector …… 3.初始化一维 vector 对象: 3.1 vector < int > myVector; 此时myVector中没有...
先来说几个比较重要的关键词push_back( ) 成员函数在向量的末尾插入值,如果有必要会扩展向量的大小。size( ) 函数显示向量的大小。begin( ) 函数返回一个指向向量开头的迭代器。end( ) 函数返回一个指向向量末尾的迭代器。 下面我们上,👌将string和vector放到一起是因为:在 STL 中,拥有 capacity 属性的容器...
运行的时候在push_back那一句报如下的错误: Unhandled exception at 0x50C031CA (msvcr120d.dll) in Test15.exe: 0xC0000005: Access violation reading location 0x391F9350. 试了一下,如果不是push_back自定义的struct,而是push_back一个内置类型(比如int,string)就不会报错. ...
与之前学习的string不同,string是针对字符串的一个容器,而vector却是一个类模板,意思就是vector这个容器中,可以存放的数据不只只有内置类型,同时也有自定义类型; 内置类型 自定义类型 vector< int > vector< string > vector< double > vector< vector< int > > vector< char > ... ... ... vector中的...
vector<int> v1; //元素类型为intvector<char> v2; //元素类型为charvector<string> v3; //元素类型为stringvector<vector<int>> v4; //元素类型为vector<int> 向vector中添加元素; vector<int> v1;//使用push_back进行尾插v1.push_back(1);v1.push_back(2); ...