當使用變量參數列表"..."
傳遞它們時,是否可以對多個對象執行Boolean
測試?使用變量參數進行C++ Bool測試「...」
實施例功能:
bool check_collision(SPRITE sprite, PLATFORM platform ...){
//do check
return true;
}
調用等:
if(check_collision(sprite,platform,platform2,platform3,platform4,platform5)){
//manipulate sprite
}
而不是像:
if((check_collision(sprite,platform)
&& (check_collision(sprite,platform2)
&& (check_collision(sprite,platform3)
&& (check_collision(sprite,platform4)
&& (check_collision(sprite,platform5)){
//manipulate sprite
}
或:
if((check_collision(sprite,platform)
|| (check_collision(sprite,platform2)
|| (check_collision(sprite,platform3)
|| (check_collision(sprite,platform4)
|| (check_collision(sprite,platform5)){
//manipulate sprite
}
如果使用"..."
進行全部測試,您是否必須遍歷每個平臺/將精靈與每個平臺進行比較? 他們都必須返回true
布爾測試爲真或只有一個? 我猜你將不得不發送第三個Argument
,以便函數知道bool是OR
還是和AND
? (所以,如果OR,只有一個人是真實的,如果和,都必須是真的嗎?)
我有我目前工作的程序中測試,但我還沒有實現 任何迭代如此我很確定它只檢查第一個platform
。
可變參數只是一種接受未指定數量參數的方法,沒有明確聲明它們作爲函數簽名的一部分。其他一切(即你問的一切)完全取決於你。 – 2013-04-08 12:35:18