Tôi nhận được cảnh báo ký/unsigned không phù hợp cho đoạn mã sau:Sử dụng auto trong vòng C++
auto n = a.size();
for (auto i = 0; i < n; i++) {
}
Vấn đề là bằng cách gán 0-i
nó trở nên int
hơn size_t
. Vì vậy, những gì là tốt hơn:
size_t n = a.size();
for (size_t i = 0; i < n; i++) {
}
hay này:
auto n = a.size();
for (size_t i = 0; i < n; i++) {
}
hoặc có thể bạn có một giải pháp tốt hơn? Tôi thích cái đầu tiên hơn vì nó phù hợp hơn một chút, nó chỉ sử dụng size_t
thay vì cả hai size_t
và auto
cho cùng một mục đích.
how about 'auto i = 0u'? – jalf
Làm thế nào về việc sử dụng một int nếu bạn cần một chỉ số trong vòng lặp của bạn? Sử dụng một chỉ mục unsigned có thể nhận được khó chịu rất nhanh chóng. Ví dụ. 'i