Tôi có đoạn mã sau:C++ làm loại biến phụ thuộc vào ngữ cảnh?
// Case #1
float f = 1.0f;
float f2 = sqrt(f * pi);
// Case #2
double d = 1.0;
double d2 = sqrt(d * pi);
Có cách nào để xác định các biến pi
để operator*
và sqrt
sẽ hoạt động trên float
s trong Case # 1, nhưng sẽ hoạt động trên double
s trong trường hợp # 2?
Có lẽ có thể xảy ra với các mẫu biến C++ 14?
@LWimsey Yep, lỗi đánh máy, cảm ơn. – Barry
@ T.C. Một cái gì đó như thế? – Barry
Bạn có thể làm cho nó đơn giản hơn - việc triển khai mặc định nên xác định giá trị 'double' thay vì' int'. 'mẫu constexpr double pi = 3.0;' –
Orient