STARTING
CONTROL STATEMENT
FUNCTION
ARRAY & POINTER
OOP
STL
ITERATORS
OTHER FEATURES
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Toán tử ba ngôi trong C++

Trong bài này mình sẽ giới thiệu toán tử ba ngôi trong C++, đây là cách viết rút gọn lệnh if else cực kì hữu ích, giúp lập trình viên rút gọn thời gian code rất nhiều.

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Toán tử ba ngôi thực ra là cách rút gọn code của lệnh if else, nhưng nó chỉ hoạt động trong những trường hợp đơn giản, và lệnh này sẽ trả về một giá trị cụ thể.

1. Cú pháp toán tử ba ngôi C++

Cú pháp như sau:

condition ? true_value : false_value;

Trong đó nếu:

Bài viết này được đăng tại [free tuts .net]

  • condition = true thì true_value sẽ được lấy
  • condition = false thì false_value sẽ được lấy

Như vậy, toán tử ba ngôi sẽ trả về một giá trị nhất định, và giá trị đó phụ thuộc vào điều kiện condition.

Ví dụ: Viết chương trình kiểm tra một số là số chẵn hay số lẻ và in kết quả lên màn hình.

Nếu viết cách thông thường thì làm như sau:

#include <iostream>
using namespace std;

int main()
{
  	
  	int number = 20;
  	
  	if (number % 2 == 0){
  		cout << "So chan";	
  	}
  	else {
  		cout << "So le";	
  	}
  	
    return 1;
}

Nhưng nếu sử dụng toán tử ba ngôi sẽ như sau:

#include <iostream>
using namespace std;

int main()
{
  	
  	int number = 20;
  	string message;
  	message = (number % 2 == 0) ? "So chan" : "So le";
  	cout << message;
  	
    return 1;
}

Rõ ràng cách viết ngắn gọn hơn rất nhiều, nhưng bù lại trông có vẻ hơi khó đọc.

2. Khi nào nên sử dụng toán tử ba ngôi C++

Không phải lúc nào sử dụng toán tử ba ngôi đều tốt nhé các bạn.

Bạn chỉ nên sử dụng trong những trường hợp đơn giản, điều kiện kiểm tra không quá dài.

Trường hợp chương trình quá phức tạp thì phải sử dụng lệnh if else.

Cùng chuyên mục:

Các hàm xử lý số thực (float.h) trong C/C++

Các hàm xử lý số thực (float.h) trong C/C++

Các hàm xử lý số nguyên lớn (bigint.h) trong C/C++

Các hàm xử lý số nguyên lớn (bigint.h) trong C/C++

Các hàm xử lý thời gian (time.h) trong C

Các hàm xử lý thời gian (time.h) trong C

Các hàm xử lý chuỗi (string.h) trong C/C++

Các hàm xử lý chuỗi (string.h) trong C/C++

Thread Pools và Parallel Algorithms trong C++

Thread Pools và Parallel Algorithms trong C++

Tạo và quản lý các Multithreading trong C++

Tạo và quản lý các Multithreading trong C++

Xử lý ngoại lệ khi làm việc với Memory Allocation trong C++

Xử lý ngoại lệ khi làm việc với Memory Allocation trong C++

Try, Catch, và Throw của Exception Handling trong C++

Try, Catch, và Throw của Exception Handling trong C++

Cách sử dụng Lambda Expressions trong C++

Cách sử dụng Lambda Expressions trong C++

Sử dụng weak_ptr trong C++

Sử dụng weak_ptr trong C++

Sử dụng shared_ptr trong C++

Sử dụng shared_ptr trong C++

Sử dụng unique_ptr trong C++

Sử dụng unique_ptr trong C++

Tổng quan về Smart Pointers trong C++

Tổng quan về Smart Pointers trong C++

Sử dụng Iterators trong STL của C++

Sử dụng Iterators trong STL của C++

[Iterator] Sử dụng Vector trong C++

[Iterator] Sử dụng Vector trong C++

[Iterator] Sử dụng trong List trong C++

[Iterator] Sử dụng trong List trong C++

[STL] Sử dụng Vector trong C++

[STL] Sử dụng Vector trong C++

Tổng quan về Iterators trong C++

Tổng quan về Iterators trong C++

[STL] Các hàm thường dùng của lớp Vector trong C++

[STL] Các hàm thường dùng của lớp Vector trong C++

[STL] Các hàm thông dụng của Map trong C++

[STL] Các hàm thông dụng của Map trong C++

Top