c++里 比如我定义了个char 的 c 用cin输入 然后输出的是什么???

2025-01-06 12:19:51
推荐回答(4个)
回答(1):

vector类似于一个可以改变长度的动态char数组。调用push_back复制并插入新元素时如果vector空间不够,会尝试重新分配更大的空间以容纳原来和新插入的元素。只要没有发生内存分配失败,应该是可以无限存放的。至于cin>>line,由于istream重载操作符operator>>(const char&)的关系,实际上只是从输入流读一个字符而已,读的字符重复覆盖在line上,然后复制到c的末尾,当然放得下。
2010-5-17 20:17
----
LZ你把输入过程理解错了。虽然char只能保存一个字符,但这段程序是每用cin输入一个字符到char以后就用vector c的push_back成员函数把char里的字符再插入到c的末尾,通过循环可以重复这个过程若干次,也就是多次输入并插入一个字符。而vector相当于能够随着插入char而自动增长长度char数组类型,能保存多个字符,并且每插入一个新的字符时不会清空之前输入的内容。所以vector中可以有之前输入的多个字符。
另外,while(line!='0')看样子应该是while(line!='\0')。
====
[原创回答团]

回答(2):

好像cin是没有格式限制的,这个比scanf好,那个是要加%f,%d等等,这就是c++比c语言进步的地方

回答(3):

vector不是char类型 它是一个字符向量 你可以把他当成一个可以伸长的数组来理解

回答(4):

...你不是push_back增加vector的长度,,,

建议你吧vector这个看一遍吧·~