Cách tốt nhất để sử dụng NaN trong C++ là gì?Sử dụng NaN trong C++?
Tôi tìm thấy std::numeric_limits<double>::quiet_NaN()
và std::numeric_limits<double>::signaling_NaN()
. Tôi muốn sử dụng signaling_NaN
để đại diện cho một biến chưa được khởi tạo như sau:
double diameter = std::numeric_limits<double>::signaling_NaN();
Tuy nhiên, tín hiệu này (nêu ra một ngoại lệ) khi chuyển nhượng. Tôi muốn nó đưa ra một ngoại lệ về sử dụng, chứ không phải về nhiệm vụ.
Có cách nào để sử dụng signaling_NaN
mà không tăng ngoại lệ khi chuyển nhượng không? Có một thay thế tốt, di động để signaling_NaN
sẽ tăng ngoại lệ dấu chấm động khi được sử dụng?
hmm ... Tôi đang chơi với điều này bởi vì tôi tò mò bây giờ nhưng tôi không thể có được tôi để đưa ra một ngoại lệ. Bạn đã làm gì để có ngoại lệ? –
@JeffreyMartinez Nó không phải là một ngoại lệ C++ bình thường, nếu đó là những gì bạn đang suy nghĩ. Đó là một ngoại lệ dấu chấm động: xem ghi chú [ở đây] (http://en.cppreference.com/w/cpp/numeric/fenv). – bames53