Cú pháp lạ trong C++

Cho mình hỏi cú pháp gán này làm gì trong C++ thế, mình mới gặp lần đầu:

#include <iostream>
using namespace std;

int main()
{
	int n, x = 7;
	x = x - 1;
	n = (n = 5, n *= 10 + x); //????
	x--;
}

Cái này gọi là comma operator.

Tóm tắt: các biểu thức sẽ thực hiện tuần tự từ trái sang phải, rồi kết quả được gán bởi giá trị của biểu thức cuối cùng.

Đoạn trên tương đương với:

n = 5;
n *= 10 + x;
n = n;
3 Likes

Không biết mấy cái này dùng vào đâu và có thuận lợi gì. Nhưng như kiểu đánh đố nhau ấy. Cố gắng làm code phức tạo lên. Trong khi lối code nên hướng đến là clean code. Gọn. Rõ ràng, dễ hiểu, hạn chế lỗi, dễ bảo trì. Có những cách khác cũng có thể giải quyết phép toán trên nhưng đơn giản hơn thì ta nên dùng cách đó

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?