sự khác biệt giữaTrong C++, sự khác nhau giữa static_cast <double> (a) và double (a) là gì?
int a;
// a gets some value
double pi = static_cast<double>(a)/3;
và
int a;
// a gets some value
double pi = double(a)/3;
Bạn đã bao giờ nhìn thấy sau này là gì? Dường như với tôi tôi thấy nó trong một số đoạn văn được viết bởi Stroustrup nhưng tôi không thể tìm thấy tài liệu tham khảo.
Khi 'a' là' int', 'static_cast (a)', '(double) a' và' double (a) 'đều giống nhau về mặt ngữ nghĩa. Sự khác biệt trở nên rõ ràng khi 'a' là một số loại vô hướng khác, hoặc là' const' hoặc 'dễ bay hơi', v.v. –
ildjarn
@ildjarn và từ quan điểm hiệu năng? –
Giống hệt hệt nhau - không có sự khác biệt nào. – ildjarn