for (int i = 0; i < historyTableList.size() - 1; i++)
{
historyList2.push_back(historyTableList[i]);
} historyList.size()=0時,為什么會異常
- historyTableList.size() 返回的是 size_t 類型(無符號整數)
- 當 size() = 0 時,size() - 1 會下溢變成非常大的正數(因為無符號整數不能為負)
- 循環條件 i < (非常大的正數) 會成立,導致循環執行
- 但在循環體內訪問 historyTableList[i] 時,i=0 已經越界