首頁 > 後端開發 > C++ > 主體

如何將 std::min/max 與 #define NOMINMAX 一起使用?

DDD
發布: 2024-11-12 07:46:02
原創
807 人瀏覽過

How to Use std::min/max with #define NOMINMAX?

如何將std::min/max 與#define NOMINMAX 結合使用

要使用標準函式std::max 和std: :min 在定義巨集NOMINMAX 時,請依照下列步驟操作:

1.在所有使用std::min/max 的檔案中定義NOMINMAX

為確保巨集生效,必須在所有使用std::max 和std 的檔案中定義#define NOMINMAX: :分鐘。這可以防止與 Windows 內建的 max 和 min 函數發生衝突。

2.使用括號繞過巨集擴充

NOMINMAX 將 std::min 和 std::max 定義為巨集。如果遇到上述錯誤,則表示預處理器將這些函數解釋為巨集。要繞過此問題,請將函數名稱括在括號中:

(std::min)(x, y);  // For std::min
(std::max)(x, y);  // For std::max
登入後複製

透過將函數名稱括在括號中,預處理器會將它們視為函數呼叫而不是巨集擴充。

注意: 這個解決方案有點不方便,因為每次使用 std::min 和 std::max 時都需要將它們括起來。但是,這是針對此特定問題的解決方法。

以上是如何將 std::min/max 與 #define NOMINMAX 一起使用?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板