Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ตัวดำเนินการ Ternary ?:vs if…else ใน C/C++


เรารู้ว่าตัวดำเนินการ ternary เป็นตัวดำเนินการแบบมีเงื่อนไข โดยใช้โอเปอเรเตอร์นี้ เราสามารถตรวจสอบเงื่อนไขบางอย่างและทำงานบางอย่างตามเงื่อนไขนั้นได้ โดยไม่ต้องใช้ตัวดำเนินการ ternary เรายังสามารถใช้เงื่อนไข if-else เพื่อทำเช่นเดียวกันได้

ผลกระทบของตัวดำเนินการ ternary และ if-else จะเหมือนกันในทุกกรณี ในบางกรณีเราไม่สามารถใช้เงื่อนไข if-else ได้ เราต้องใช้ ternary operator ในสถานการณ์นั้น หนึ่งในสถานการณ์นี้คือการกำหนดค่าบางอย่างให้กับตัวแปรคงที่บางตัว เราไม่สามารถกำหนดค่าให้กับตัวแปรคงที่โดยใช้เงื่อนไข if-else แต่เมื่อใช้ตัวดำเนินการ ternary เราสามารถกำหนดค่าให้กับตัวแปรคงที่บางตัวได้

โค้ดตัวอย่าง

#include<iostream>
using namespace std;
main() {
   int a = 10, b = 20;
   const int x;
   if(a < b) {
      x = a;
   } else {
      x = b;
   }
   cout << x;
}

ผลลัพธ์

This program will not be compiled because we are trying to use the
constant variable in different statement, that is not valid.

โดยใช้โอเปอเรเตอร์ ternary จะทำงาน

โค้ดตัวอย่าง

#include<iostream>
using namespace std;
main() {
   int a = 10, b = 20;
   const int x = (a < b) ? a : b;
   cout << x;
}

ผลลัพธ์

10