Trong C ++ 20, khái niệm POD không được dùng nữa, được cho là bởi vì nó là một đặc điểm tổng hợp vô nghĩa của việc tầm thường và bố cục tiêu chuẩn.
Sai. Thuật ngữ POD đang bị phản đối vì nó không còn quan trọng nữa :
Thuật ngữ POD không còn phục vụ mục đích trong tiêu chuẩn, nó chỉ được xác định và các hạn chế được áp dụng khi một vài loại khác bảo quản tài sản di tích này.
Về cơ bản, một loại cả bố cục tầm thường và bố cục tiêu chuẩn sẽ không đạt được bất kỳ khả năng nào ngoài những gì tầm thường và là bố cục tiêu chuẩn tự cung cấp. Sự kết hợp của cả hai không làm cho loại hình trở nên đặc biệt và hai thuộc tính không thực sự có liên quan nhiều đến nhau.
Bố cục tiêu chuẩn là về cách bố trí các tiểu dự án không trống của nó được xác định rõ (cũng như các tiểu dự án lớp cơ sở trống của nó không làm xáo trộn bố cục của loại). Triviality là về việc đối tượng có một số ý nghĩa ngoài khối bit mà nó lưu trữ (và liệu nó có phải là một đối tượng hợp lệ hay không nếu nó được khởi tạo với một khối bit tùy ý).
Nếu tôi đang tạo một mẫu có một loại T
và tôi muốn xem liệu tôi có thể memcpy
đối tượng của loại đó không, tôi không quan tâm đến bố cục của các thành viên; Tôi muốn biết nếu nó là TrivivelyCopyable. Tương tự, tính chính xác của offsetof
việc không quan tâm một chút nếu lớp có một hàm tạo sao chép do người dùng cung cấp. Tất cả những gì nó quan tâm là nếu bố trí của các tiểu dự án thành viên xảy ra theo một trật tự rõ ràng, được thi hành theo tiêu chuẩn.
Về cơ bản, mọi người nhìn xung quanh và nhận ra rằng không còn gì trong C ++ mà đặc biệt cần sự giao thoa giữa tầm thường và bố cục tiêu chuẩn. Vì vậy, chúng tôi không cần phải đặt một thuật ngữ cho nó. Một vài nơi mà tiêu chuẩn tuyên bố rõ ràng rằng một số loại sẽ là "POD" có thể được thay thế đơn giản bằng "bố cục tầm thường và tiêu chuẩn", nếu phù hợp.
Đây có phải là yêu cầu đệ quy không?
Vì cả hai yêu cầu cấu thành là đệ quy riêng, nên giao điểm của cả hai cũng được đệ quy. Vì vậy, không có nhu cầu rõ ràng để nói rằng tất cả các tiểu dự án cũng là POD. Đây không chỉ là một trường hợp kỳ quặc sao chép và dán, trong đó định nghĩa ban đầu nói một cái gì đó như "tất cả các thành viên dữ liệu không tĩnh phải là loại POD" và họ chỉ giữ nguyên tuyên bố đó.