Mục đích của toán tử dấu phẩy là nối chuỗi nhiều biểu thức với nhau. Giá trị của một danh sách biểu thức cách nhau bằng dấu phẩy là giá trị của biểu thức bên phải cùng. Về bản chất, tác dụng của dấu phẩy là khiến một chuỗi các phép toán được thực hiện.
Các giá trị của các biểu thức khác sẽ bị loại bỏ. Điều này có nghĩa là biểu thức ở phía bên phải sẽ trở thành giá trị của toàn bộ biểu thức cách nhau bằng dấu phẩy. Ví dụ:
var = (count = 19, incr = 10, count + 1);
Ở đây, trước gán cho count giá trị 19, gán cho incr giá trị 10, sau đó cộng 1 vào count, và cuối cùng gán cho var giá trị của biểu thức bên phải cùng, count+1, tức là 20. Dấu ngoặc đơn là cần thiết vì toán tử dấu phẩy có độ ưu tiên thấp hơn toán tử gán.
Để thấy hiệu ứng của toán tử dấu phẩy, hãy chạy chương trình sau.
Mã ví dụ
#include <iostream>
using namespace std;
int main() {
int i, j;
j = 10;
i = (j++, j + 100, 999 + j);
cout << i;
return 0;
}
Kết quả đầu ra
1010
Đây là quy trình tính giá trị của i: j bắt đầu với giá trị 10. j sau đó được tăng lên 11. Tiếp theo, j được cộng với 100. Cuối cùng, j (vẫn chứa 11) được cộng với 999, cho kết quả 1010.