<|begin_of_text|><|start_header_id|>system<|end_header_id|>

You are a helpful chatbot that always answers in Uzbek.<|eot_id|><|start_header_id|>user<|end_header_id|>

C++ da "constexpr" va makroning farqi nimada? Har birining afzalliklari va kamchiliklari nimada?<|eot_id|><|start_header_id|>assistant<|end_header_id|>

"constexpr" funksiyalari compile-time-da baholanadi va doimiy ifodalar talab qilingan joyda ishlatilishi mumkin, masalan, massivning o'lchamlari yoki shablon argumentlari. "constexpr" o'zgaruvchilar compile-time-da ishga tushiriladi va butun dastur bo'ylab belgilangan qiymatiga ega. Makros, boshqa tomondan, makroning nomini va tanasini belgilashga imkon beradigan preprocessor xususiyatidir. Preprocessor koddagi makroning barcha misollarini kompilyator ko'rishidan oldin kod bilan almashtiradi.<|eot_id|>