Liệu các C++ biên dịch chăm sóc các trường hợp như thế, các tòa nhà là véc tơ:Có tốn kém khi tính toán kích thước vectơ cho các vòng lặp, mỗi lần lặp không?
for (int i = 0; i < buildings.size(); i++) {}
có nghĩa là, nó nhận thấy nếu các tòa nhà được sửa đổi trong vòng lặp hay không, và sau đó dựa trên mà không đánh giá nó mỗi lần lặp ? Hoặc có lẽ tôi nên làm điều này bản thân mình, không phải là đẹp, nhưng:
int n = buildings.size();
for (int i = 0; i < n; i++) {}
Đây là một chi phí nhỏ như vậy (nếu có) mà nó hoàn toàn không đáng lo ngại. – Anycorn
* "không phải là đẹp nhưng" * - Vâng, 'cho (int i = 0, n = buildings.size(); i
Hoặc 'cho (int i = buildings.size() - 1; i> = 0; i -)' – Izkata