Khi nghi ngờ, sử dụng Clang:
$ clang++ -Weverything test.cpp
test.cpp:4:5: warning: no previous prototype for function 'foo' [-Wmissing-prototypes]
int foo()
^
test.cpp:6:10: warning: expression result unused [-Wunused-value]
return 1,2,3,4,5,6;
^
test.cpp:6:12: warning: expression result unused [-Wunused-value]
return 1,2,3,4,5,6;
^
test.cpp:6:14: warning: expression result unused [-Wunused-value]
return 1,2,3,4,5,6;
^
test.cpp:6:16: warning: expression result unused [-Wunused-value]
return 1,2,3,4,5,6;
^
test.cpp:6:18: warning: expression result unused [-Wunused-value]
return 1,2,3,4,5,6;
^
6 warnings generated.
Như tên của nó , -Weverything
kích hoạt mọi cảnh báo có sẵn. Bằng cách này bạn không phải nhớ các nhóm họ đang ở.
Để giải thích: hãy xem câu trả lời của Mysticial về toán tử dấu phẩy và các hiệu ứng trình tự của nó. Một lần xuất hiện hữu ích của toán tử này là:
std::list<Item> list = /**/;
assert(list.size() >= 10);
auto it = list.begin();
for (int i = 0; i < 10; ++i, ++it) {
std::cout << "Item " << i << ": " << *it << "\n";
}
Sử dụng toán tử dấu phẩy để thực hiện hai thao tác trong một câu lệnh.
Tất nhiên, cú pháp đó chủ yếu là giai thoại, vì vậy mọi người thường xuyên bị bất ngờ ...