问题遇到的现象和发生背景
在编码过程中需要函数操作一个list并返回该list,debug时发现初始化list之后list的size不为0而是一个非常大的数(14757395258967641292)。测试后发现,如果在函数中声明一个不被返回的list A,它初始大小就为0,但被返回的list B的大小始终非常大。
虽然B的size不符合常理,但运行的结果是没有问题的。
请问这是什么原理?以及,这个非常大的数有什么含义吗?
用代码块功能插入代码,请勿粘贴截图
示例代码:
list<int> test() {
list<int> ans;
ans.push_back(1);
ans.push_back(2);
ans.push_back(3);
return ans;
}
int main() {
list<int> n = test();
return 0;
}