Telegram Group & Telegram Channel
🎯 Как избежать макросов в C++ и остаться довольным

Сегодня я покажу вам, как можно избавиться от макросов в C++ и заменить их на более безопасные и выразительные конструкции.

🔴 Проблема: #define — это зло.
Они не уважают область видимости, не отлаживаются нормально, не подчиняются типам и могут вызвать кучу проблем, особенно в больших проектах.

👉 Вместо #define PI 3.14
Используем:

constexpr double PI = 3.14;


👉 Вместо #define SQUARE(x) ((x)*(x))
Используем шаблон:

template<typename T>
constexpr T square(T x) {
return x * x;
}


👉 Вместо #ifdef DEBUG ... #endif
Используем:

#ifdef DEBUG
inline constexpr bool is_debug = true;
#else
inline constexpr bool is_debug = false;
#endif

А дальше просто:

if constexpr (is_debug) {
std::cout << "Debug mode\n";
}


💡 constexpr, inline, template и if constexpr — это ваш новый арсенал для выразительного и безопасного кода без макросов.

➡️ @cpp_geek



tg-me.com/cpp_geek/296
Create:
Last Update:

🎯 Как избежать макросов в C++ и остаться довольным

Сегодня я покажу вам, как можно избавиться от макросов в C++ и заменить их на более безопасные и выразительные конструкции.

🔴 Проблема: #define — это зло.
Они не уважают область видимости, не отлаживаются нормально, не подчиняются типам и могут вызвать кучу проблем, особенно в больших проектах.

👉 Вместо #define PI 3.14
Используем:


constexpr double PI = 3.14;


👉 Вместо #define SQUARE(x) ((x)*(x))
Используем шаблон:

template<typename T>
constexpr T square(T x) {
return x * x;
}


👉 Вместо #ifdef DEBUG ... #endif
Используем:

#ifdef DEBUG
inline constexpr bool is_debug = true;
#else
inline constexpr bool is_debug = false;
#endif

А дальше просто:

if constexpr (is_debug) {
std::cout << "Debug mode\n";
}


💡 constexpr, inline, template и if constexpr — это ваш новый арсенал для выразительного и безопасного кода без макросов.

➡️ @cpp_geek

BY C++ geek




Share with your friend now:
tg-me.com/cpp_geek/296

View MORE
Open in Telegram


telegram Telegram | DID YOU KNOW?

Date: |

Can I mute a Telegram group?

In recent times, Telegram has gained a lot of popularity because of the controversy over WhatsApp’s new privacy policy. In January 2021, Telegram was the most downloaded app worldwide and crossed 500 million monthly active users. And with so many active users on the app, people might get messages in bulk from a group or a channel that can be a little irritating. So to get rid of the same, you can mute groups, chats, and channels on Telegram just like WhatsApp. You can mute notifications for one hour, eight hours, or two days, or you can disable notifications forever.

Telegram is riding high, adding tens of million of users this year. Now the bill is coming due.Telegram is one of the few significant social-media challengers to Facebook Inc., FB -1.90% on a trajectory toward one billion users active each month by the end of 2022, up from roughly 550 million today.

telegram from ye


Telegram C++ geek
FROM USA