我正在寫一個算法,檢查C++中檢查器中的重複動作,但我在使用iterator
時遇到問題。在C++中使用迭代器時遇到問題
這裏是我的代碼:
static std::list<char[8][8]> duplicates;
char checkForDuplicates[8][8];
for(char i = 0;i < 8;i++)
for(char j = 0;j < 8;j++)
checkForDuplicates[i][j] = board[i][j];
bool isDuplicate = false;
for(std::list<char[8][8]>::iterator it = duplicates.begin(); it != duplicates.end(); it++)
{
for(char i = 0;i < 8;i++)
{
for(char j = 0;j < 8;j++)
{
if(checkForDuplicates[i][j] != it->[i][j])
//do something
}
}
}
我特別需要這一行幫助:
if(checkForDuplicates[i][j] != it->[i][j])
我想比較列表中的另一個數組元素的數組元素,但我沒有想法如何使用list iterator
訪問列表中的數組元素。任何人都可以請示例和/或建議幫助我嗎?
我不認爲你可以存儲陣列中的'的std :: list'裏面,因爲數組類型沒有拷貝構造或轉讓的,兩個要求必須存儲在STL容器類型。不過,也許他們在C++ 11中放寬了這一點。 – templatetypedef 2012-07-27 02:40:41