使用#define被认为是“不良做法”吗? [重复]

问题描述 投票:-2回答:1

这个问题在这里已有答案:

目标

最后,我想知道使用#define是否对您的代码有害,以及为什么。

#include <iostream>
using namespace std;

#define favouriteNumber 20;

int main()
{
    int number = favouriteNumber;
    cout << number;
}
c++ c++14 c-preprocessor
1个回答
-2
投票

根据Stroustrup,它对于定义常量特别“糟糕”,因为编译器无法检查类型。

另一方面,如果一行宏节省了20行显式代码,有些人肯定会认为即使它本身不安全也很有用。这是因为编写更多代码通常意味着更高的错误概率。

© www.soinside.com 2019 - 2024. All rights reserved.