你明确地知道宏有点邪恶。使用相对较新的关键字constexpr
,我们可以使用const
做一些我们无法做到的好事。 E.g:
constexpr int GetVal()
{
return 40;
}
int arr[GetVal()];
是的...... constexpr
还有很多其他的用法,比如在构造函数......等等。
现在问题是,在#define
宏上使用它有什么好处吗?
修改
我知道constexpr
对于宏来说可以做什么和做什么不可以做什么,这就是大多数问题及其答案的全部内容。在此,我明确询问,当{strong> BOTH 可以使用时,constexpr
优于#define
会有什么好处。