C++ 为什么这段代码不能将字符推回向量<;char>;?
我想把一个字符压回一个向量并打印出来,但我不知道为什么它没有被打印出来 我不明白该怎么办,因为程序正在编译并返回0C++ 为什么这段代码不能将字符推回向量<;char>;?,c++,vector,char,C++,Vector,Char,我想把一个字符压回一个向量并打印出来,但我不知道为什么它没有被打印出来 我不明白该怎么办,因为程序正在编译并返回0 #包括 #包括 使用名称空间std; int main(){ 载体A(4); char d='s'; A.推回(d); //对于(int i=0;i您打印A[0]值,但“s”作为[4]值被推回 通过使用调试器,您可以看到 用这种方法定义向量,你的问题就会得到解决 vector <char> A; 向量A; 实现的问题在于 载体A(4) 及 A.推回(d) 台词 当您
#包括
#包括
使用名称空间std;
int main(){
载体A(4);
char d='s';
A.推回(d);
//对于(int i=0;i您打印A[0]值,但“s”作为[4]值被推回
通过使用调试器,您可以看到
用这种方法定义向量,你的问题就会得到解决
vector <char> A;
向量A;
实现的问题在于
载体A(4)
及
A.推回(d)
台词
当您构造一个默认大小为4的向量时,这意味着[0]到[3]索引已经分配了。
接下来,当您执行push_back()时,您将在下一个可能的索引中推送元素,在您的示例中是4
因此,A.push_back(d);->它所做的只是分配一个[4],然后分配一个[4]=“s”
只需打印一个[4],您就可以看到它。“为什么这段代码不能将字符推回向量?”是什么让你认为它不起作用?你打算观察的结果是什么?我认为OP的问题是他看不到cout
的预期输出。这可能是因为应用程序正在立即结束。如果你在windows下运行它,试着通过命令提示符窗口执行程序,你将能够使用它e你的输出。@Dean Seo我试着打印了,但没有打印,我得到了下面的答案。你接受了答案。这就是一个人为他们解决问题的方式。不需要做任何其他事情。
vector <char> A;