我不明白a<<b
是如何工作的。C++中的「(」<<「)是什麼意思?
它實際上對a+= arr[i][j] ==0 && tfunc(i,j);
意味着什麼?
這是否意味着:代碼
if (arr[i][j]==0 && tfunc(i,j) == true)
a += 1;
部分將是如下:
int *eFunc(int* a) const{
for(int i=0; i<8; ++i){
for(int j=0; j<8; ++j){
*a = b <<3^j;
a+= arr[i][j] ==0 && tfunc(i,j);
}
}
return a;
}
在此先感謝
這意味着有程序員在那裏有一個糟糕的想法是什麼好的代碼。您可能想了解運營商:https://en.wikipedia.org/wiki/Operators_in_C_and_C%2B%2B – stefan
@stefan這可能是手動優化的代碼來刪除分支。但它真的應該被嚴重評論... – Quentin
你不明白哪些特定的位?語法?運營商的優先權?它實際上實現的邏輯? – Useless