Một vài ngày trước, khi đọc Standard C++ news Tôi đã đọc các bài về Defaulted functions in C++11, trong bài viết được đề cập rằng các nhà xây dựng người dùng định nghĩa là kém hiệu quả hơn so với một tạo ra bởi trình biên dịch:Các nhà xây dựng mặc định do người dùng định nghĩa có kém hiệu quả hơn không?
Người dùng định nghĩa constructor mặc định kém hiệu quả hơn trình biên dịch ngầm định hàm tạo mặc định.
Tiếp tục đọc, có một ví dụ trong đó một nhà xây dựng người dùng xác định được đánh dấu là mặc định, và sau đó nói:
các mặc định một cách rõ ràng constructor là hiệu quả hơn một constructor mặc định bằng tay lập trình.
Tôi không hiểu những khẳng định, vì vậy tôi đã tự hỏi:
- Tại sao một nhà xây dựng sử dụng mặc định (hoặc hàm thành viên đặc biệt) sẽ ít hiệu quả hơn so với các trình biên dịch ngầm được xác định một?
- Hiệu suất được cải thiện như thế nào bằng cách mặc định rõ ràng một hàm tạo (hoặc hàm thành viên đặc biệt)?
- Hướng dẫn nào tôi phải tuân theo để chọn mặc định một hàm tạo (hoặc hàm thành viên đặc biệt) và cách hiệu quả ảnh hưởng đến quyết định này?
http://stackoverflow.com/questions/4275861/why-would-the-implicitly-generated-constructor-et-al-be-more-efficient-than-a?rq = 1 – shivakumar
Tốt nhất @shivakumar nhưng cả hai câu hỏi chưa có câu trả lời được chấp nhận, ngay cả câu hỏi bạn đã đề cập là từ năm 2010! : O –