seansie's blog

C++ 教學 三元運算子

介紹

C++的三元運算子(ternary operator),又稱條件運算子,是一種簡潔的條件運算表達式,可以用來代替較長的 if-else 條件判斷。其語法如下:

condition ? value1 : value2;

其中:

  • condition 是要判斷的條件表達式,其值必須為布林值。
  • value1 是條件為真時要返回的值。
  • value2 是條件為假時要返回的值。

三元運算子的運作方式如下:

  1. 首先計算 condition 的值。
  2. 如果 condition 的值為真,則返回 value1
  3. 如果 condition 的值為假,則返回 value2

例子

例如,以下程式碼使用三元運算子來判斷一個數字是否為偶數:

int number = 10;
bool isEven = (number % 2 == 0) ? true : false;

在這個程式碼中,conditionnumber % 2 == 0,它會檢查 number 是否為偶數。如果 number 為偶數,則 condition 的值為真,並將 true 賦值給 isEven。如果 number 為奇數,則 condition 的值為假,並將 false 賦值給 isEven

限制

三元運算子可以用來簡化程式碼,使其更易讀。但是,它也有一些限制:

  • 三元運算子只能用於簡單的條件判斷。
  • 三元運算子的可讀性可能會受到影響,尤其是當條件表達式或返回值較複雜時。

在以下情況下,可以使用三元運算子:

  • 需要在一個程式碼行中進行簡單的條件判斷。
  • 需要在程式碼中嵌入條件判斷。

在以下情況下,不建議使用三元運算子:

  • 需要進行複雜的條件判斷。
  • 需要提高程式碼的可讀性。

以下是一些三元運算子的使用技巧:

  • 使用三元運算子時,要注意條件表達式的可讀性。
  • 如果條件表達式或返回值較複雜,可以使用 if-else 條件判斷來代替三元運算子。
  • 可以使用括號來提高三元運算子的可讀性。

相關例子