2012-10-04 3 views
0

세 포인터 *player1, *player2*currentPlayer이 있습니다.두 개체 사이에 포인터 바꾸기

*currentPlayer 포인터는 항상 *player1 또는 *player2을 가리 킵니다. 둘 사이에 전환하려면, 내가 해왔 다음

if (currentPlayer == player1) { 
     currentPlayer = player2; 
} 
else { 
    currentPlayer = player1; 
} 

내 질문은, 이들 두 개의 포인터 사이에 교환 할 수있는 간단하고, 더 우아한 방법이?

+1

'* player1' 포인터가 아닙니다. 'player1'은'* player1' 객체에 대한 포인터입니다. –

답변

9

아니요, 개념 상으로는 더 간단한 방법이 없습니다.

구문이 삼항 연산자는 약간 짧은 : 당신이 배열을 사용하는 경우

currentPlayer = currentPlayer == player1 ? player2 : player1; 
0

이 너무 일할 수 :

currentPlayer = playerArray + (currentPlayer - playerArray^1);