เรารู้ว่าตัวดำเนินการ 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