我有三个指针,*player1
,*player2
和*currentPlayer
。
指针*currentPlayer
将始终指向*player1
或*player2
。要在两者之间切换,我一直在做以下事情:
if (currentPlayer == player1) {
currentPlayer = player2;
}
else {
currentPlayer = player1;
}
我的问题是,是否有更简单,更优雅的方式在这两个指针之间进行交换?
答案 0 :(得分:9)
不,从概念上讲,没有更简单的方法。
从语法上讲,三元运算符有点短:
currentPlayer = currentPlayer == player1 ? player2 : player1;
答案 1 :(得分:0)
如果你使用数组,这也可以工作:
currentPlayer = playerArray + (currentPlayer - playerArray ^ 1);