gpt4 book ai didi

c++ - 意外的 C++ vector 行为

转载 作者:行者123 更新时间:2023-11-28 00:17:23 24 4
gpt4 key购买 nike

出于某种原因,我在 empty() vector 运算符和 vector 中的内容之间存在差异。

if(myvector.empty())cout<<"My Vector is empty\n";
cout<<myvector.front()<<endl;
cout<<myvector[0]<<endl;
print(myvector);

print() 是我的函数,它只接受 vector 输入并打印 vector 。

出于某种原因,我的 vector 不应该为空,但对于 myvector.empty() 返回空值,但是它为 myvector.front( )myvector[0],但是当打印整个 vector 时,没有打印任何内容。

有什么想法吗?

最佳答案

当 vector 为空时,您只需要让 if 语句切换到 cout,否则行为未定义。

一个简单而快速的修复是

if(myvector.empty()) 
{
cout<<"My Vector is empty\n";
}
else
{
cout<<myvector.front()<<endl;
cout<<myvector[0]<<endl;
print(myvector);
}

关于c++ - 意外的 C++ vector 行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29380970/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com