Rumah > pembangunan bahagian belakang > C++ > Bagaimana Menggunakan std::min/max dengan #define NOMINMAX?

Bagaimana Menggunakan std::min/max dengan #define NOMINMAX?

DDD
Lepaskan: 2024-11-12 07:46:02
asal
959 orang telah melayarinya

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

Cara Menggunakan std::min/max dengan #define NOMINMAX

Untuk menggunakan fungsi perpustakaan standard std::max dan std: :min semasa mentakrifkan makro NOMINMAX, ikut langkah berikut:

1. Tentukan NOMINMAX dalam Semua Fail Di Mana std::min/max Digunakan

Untuk memastikan makro berkuat kuasa, anda mesti mentakrifkan #define NOMINMAX dalam semua fail yang anda akan gunakan std::max dan std: :min. Ini menghalang perlanggaran dengan fungsi maks dan min terbina dalam Windows.

2. Gunakan Tanda Kurung untuk Memintas Pengembangan Makro

NOMINMAX mentakrifkan std::min dan std::max sebagai makro. Jika anda menghadapi ralat yang disebutkan di atas, ini bermakna prapemproses mentafsir fungsi ini sebagai makro. Untuk memintas ini, bungkus nama fungsi dalam kurungan:

(std::min)(x, y);  // For std::min
(std::max)(x, y);  // For std::max
Salin selepas log masuk

Dengan melampirkan nama fungsi dalam kurungan, prapemproses akan menganggapnya sebagai panggilan fungsi dan bukannya pengembangan makro.

Nota: Penyelesaian ini agak menyusahkan, kerana ia memerlukan tanda kurungan std::min dan std::max setiap kali anda menggunakannya. Walau bagaimanapun, ini adalah penyelesaian untuk isu khusus ini.

Atas ialah kandungan terperinci Bagaimana Menggunakan std::min/max dengan #define NOMINMAX?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan