2013-04-13 37 views
7

Theo tiêu chuẩn C++:C++ chuẩn Layout và Tài liệu tham khảo

Một lớp học tiêu chuẩn bố trí là một lớp rằng:

-has không có dữ liệu không tĩnh thành viên của loại phi chuẩn, lớp bố trí (hoặc mảng của các loại đó) hoặc tham chiếu.

Tài sản tham chiếu nào ngăn các lớp tham chiếu không được bao gồm trong định nghĩa lớp bố cục chuẩn?

+0

Bạn có cho rằng các thuộc tính như vậy cần tồn tại không? Không cần phải ... – Yakk

+0

"Ngăn chặn" là một từ mạnh mẽ. Từ một quan điểm, tài liệu tham khảo chỉ cung cấp cho trình biên dịch một lý do chính đáng để xử lý cấu trúc như một kiểu dữ liệu trừu tượng chứ không phải là a. đặc tả bố cục lưu trữ. Tài liệu tham khảo không cần phải có bất kỳ lưu trữ nào của riêng mình * ở tất cả *. – jthill

Trả lời

11

Lớp bố cục chuẩn là tất cả về việc bố cục được xác định rõ ràng cho một loại cụ thể trong bộ nhớ . Trong C++, các tham chiếu không phải là các đối tượng nên không có bất kỳ lưu trữ nào có thể được truy cập theo cách được xác định rõ ràng bởi một chương trình phù hợp mặc dù việc triển khai thường phải có một số loại lưu trữ cụ thể cho chúng.

Vì lý do này không có ý nghĩa khi có các thành viên tham chiếu trong một thứ phải có bố cục tiêu chuẩn tiêu chuẩn.

Có một lưu ý không quy chuẩn trong tiêu chuẩn trong phần về C++ mô hình bộ nhớ đề cập đến điều này:

[Lưu ý: tính năng khác nhau của ngôn ngữ, chẳng hạn như tài liệu tham khảo và các hàm ảo, có thể bao gồm thêm vị trí bộ nhớ không thể truy cập vào các chương trình nhưng được quản lý bởi việc triển khai. —end note]

+0

Cảm ơn câu trả lời tuyệt vời: có ý nghĩa hoàn hảo. – TRISAbits

Các vấn đề liên quan