对this question的回答表明,在循环中使用初始化列表或使用“未知数据”将不起作用。他们没有说为什么,或者怎么会失败。
IE,这样做:(这是一个无意义的操作,但是表明列表的内容会随着循环的进行而改变)
std::vector<float> vec;
// Assume vec is filled with some useful data
for(int i = 0; i < 10; i++)
{
for(int j = 0; j < 10; j++)
{
for(int k = 0; k < 10; k++)
{
result = std::max({vec[i],vec[j],vec[k]});
// do something with result...
}
}
}
我有一些代码使用初始化列表非常频繁地获取最多3个或更多元素。看起来好像一切正常,但我不确定它们是否有效。
我想知道它是否有效。如果没有,那么它如何失败以及为什么。
我使用了非常多的警告,没有任何报告“警告:可能未正确使用初始化列表”或类似的警告。