Giai cấp chuỗi — và hầu hết các loại thư viện khác — xác định một số loại đồng hành.Các loại đồng hành làm cho nó có thể sử dụng các loại thư viện trong một máy-cách độc lập. Size_type loại là một trong những loại đồng hành. Sử dụng cácsize_type được xác định bởi chuỗi, chúng tôi sử dụng các nhà điều hành phạm vi để nói rằng tênsize_type được định nghĩa trong lớp chuỗi.Mặc dù chúng tôi không biết loại string::size_type, chính xác, chúng tôi biếtđó là một dấu loại (§ 2.1.1, p. 32) đủ lớn để giữ kích thước của bất kỳChuỗi. Bất kỳ biến được sử dụng để lưu trữ các kết quả từ hoạt động kích thước của chuỗinên loại string::size_type.Phải thừa nhận rằng, nó có thể được tẻ nhạt để gõ string::size_type. Dưới mớitiêu chuẩn, chúng tôi có thể yêu cầu trình biên dịch để cung cấp các loại thích hợp bằng cách sử dụng tự động hoặcdecltype (§ 2.5.2, trang 68):Click vào đây để xem mã hình ảnhtự động len = line.size(); Len có loại string::size_typeBởi vì kích thước trả về một loại điều, nó là điều cần thiết để nhớ rằngbiểu thức kết hợp dữ liệu đăng nhập và dấu có thể có kết quả đáng ngạc nhiên (§ 2.1.2, p.36). ví dụ, nếu n là một int mà giữ một giá trị tiêu cực, sau đó s.size() < n sẽgần như chắc chắn đánh giá là đúng sự thật. Nó mang lại sự thật bởi vì giá trị tiêu cực trong n sẽchuyển đổi một giá trị dấu lớn. MẹoBạn có thể tránh các vấn đề do chuyển đổi giữa dấu và int bởikhông sử dụng một trong biểu thức sử dụng size().
đang được dịch, vui lòng đợi..
