Tôi đã thấy mọi người sử dụng size_t
bất cứ khi nào họ ngụ ý một số nguyên không dấu. Ví dụ:Có thực hành tốt để sử dụng size_t trong C++ không?
class Company {
size_t num_employees_;
// ...
};
Thực tiễn đó có tốt không? Có một điều là bạn phải bao gồm <cstddef>
. Nếu nó là unsigned int
thay thế? Hoặc thậm chí chỉ cần int
?
Chỉ cần sử dụng int
âm thanh hấp dẫn đối với tôi vì nó tránh được lỗi ngớ ngẩn như thế này (vì người ta thường sử dụng int
):
for(int i = num_employees_ - 1; i >= 0; --i) {
// do something with employee_[i]
}
Tôi không biết bất kỳ ai đếm mọi thứ từ kích thước xuống tới 0.: | – GManNickG
Tôi tò mò về câu trả lời cho điều này liên quan đến việc truyền. Nếu bạn đi với int unsigned hoặc int và đó không phải là những gì size_t thực sự là trên hệ thống của bạn thì có lẽ nó đã chuyển đổi nó để có thể có một hit hiệu suất? – Troubadour
Nó có thể hữu ích, nhưng làm theo cách mà ví dụ hiển thị chỉ là thực hành không tốt. Chọn loại dữ liệu của bạn để đáp ứng một kết quả thực hành xấu trong 2 thực tiễn không tốt. – Gerald