lzth.net
当前位置:首页 >> 为什么在C++中vECtor string对象不能直接输出,需要... >>

为什么在C++中vECtor string对象不能直接输出,需要...

因为容器对象没有重载>>(输出)运算符!只有进行了运算符重载,才可以调用相应的类对象输出

#include <iostream>#include <vector>#include <string>using namespace std;int main(){vector<string> svec;//////////////////svec.push_back("how ");svec.push_back("are ");svec.push_back("you");svec.push_back("?");for (

while(cin>>s)v.push_back(s);是死循环你可以输入一个整数代表循环次数

因为你的vector是空的,你只是创建了一个 people类型的vector ,但对这个vector你什么都没干,是空的,所以你调用 show函数, v.size是0, 所以什么都不会输出.不懂请追问,满意请采纳.

就像定义一个数组int a[2]={1,2};cout<<a<<endl;不能这样输出

cout&lt;&lt;text&lt;&lt;endl;改成:for(int i= 0;i&lt; text.size(); i++){cout&lt;&lt;text[i]&lt;&lt;endl;}

vector<string*> sp; string str; vector定义sp时用的是string* ;而你要存储的数据为 string类型 ;类型不匹配 (将vector<string*> sp改为vector<string> sp) 在C++中,std::string 一般使用 string 形式,而不使用string * ;

#include #include using namespace std;int main(){ vector v; string s1,s2; s1 = "qqqq"; s2 = "wwww"; v.push_back(s1); v.push_back(s2); cout 追问: 没有while循环吗 自己可以任意输入的string对象 元素长度不确定 你这个是已经定义好了

其实是用new运算符,new运算符用于分配堆空间.new的基本语法是"new 类型名";和"new 类型名[]".前者分配单个对象,后者是比较数组的.还有其他的语法,我这里只说三种.第二种是带赋值的语法:"new 类型名(该类型的一个对

cout << pStrContent.c_str() << endl;这里的string是一个类,不是一个简单的字符串,需要取出里面的字符串进行输出.

相关文档
网站首页 | 网站地图
All rights reserved Powered by www.lzth.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com