Trong câu trả lời cho câu hỏi về std::stack::pop()
I claimed lý do pop
không trả lại giá trị là vì lý do an toàn ngoại lệ (điều gì sẽ xảy ra nếu trình tạo bản sao ném).Ngăn xếp có phương pháp an toàn ngoại lệ để trả lại và xóa phần tử trên cùng với ngữ nghĩa di chuyển không?
@Konrad đã nhận xét rằng giờ đây với ngữ nghĩa di chuyển, điều này không còn liên quan nữa. Điều này có đúng không?
AFAIK, di chuyển các nhà thầu canthrow
, nhưng có lẽ với noexcept
nó vẫn có thể đạt được.
Đối với điểm thưởng, đảm bảo an toàn luồng có thể cung cấp cho hoạt động này?
Tôi tự hỏi điều gì sẽ xảy ra nếu bạn gọi 'std :: move' trên một loại mà không có nhà xây dựng di chuyển? Không biên dịch? Sử dụng constructor sao chép? – UncleBens
@UncleBens, nó sử dụng hàm tạo bản sao. – Motti