与任何普通的C ++程序员一样,当我输入这段代码时......
for (int m = 0; m < 3; m++){
for (int n = 0; n < 3; n++){
if (A[m].substr(size,location) == B[n].substr(size,location)){
return false;
}
}
}
我希望m的第一个值在我的迭代中为0。 (因为我确实声明它的值为0)但是,我的程序表现得有点时髦,所以我决定在调试器中查看它。有趣的是,C ++决定m的起始值为32767,而不是起始值为0。
有人可以向我解释为什么以及如何可能发生这种情况?
答案 0 :(得分:1)
啊,templatetypedef是对的。一旦我走到下一个断点,它的值就被初始化了。谢谢你们!