Những gì tôi làm để có nghĩa là có thể được giải thích bằng ví dụ sau:Có std :: make_shared thực hiện khởi tạo giá trị (GCC và clang không đồng ý)?
auto p = std::make_shared<int>();
Là int
biến mặc định khởi tạo (do đó đã có giá trị rác) hoặc giá trị khởi tạo (do đó có giá trị bằng không)? Tôi đã thử nghiệm trên GCC 5.2 và clang 3.6 với khởi tạo giá trị trước đây và sau đó làm khởi tạo mặc định. Tôi tự hỏi tiêu chuẩn nói gì về điều này? Theo tôi, C++ hiện đại chắc chắn nên thực hiện khởi tạo giá trị trong trường hợp này.
_ "Tôi đã thử nghiệm trên GCC 5.2 và clang 3.6 với khởi tạo giá trị trước đây và sau đó thực hiện khởi tạo mặc định."_ Tôi ngạc nhiên bởi kết quả của bạn cho tiếng kêu, làm thế nào bạn kiểm tra nó? –
@ Jonathanathanely Tôi đã thử nghiệm nó trên trình biên dịch trực tuyến nhúng trong cppref – Lingxi
Nhưng làm thế nào? Bạn đã viết mã nào để xác minh hành vi? –