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