gpt4 book ai didi

c++ - 我应该避免在 C++ 中使用#define 吗?为什么,我可以使用哪些替代方案?

转载 作者:搜寻专家 更新时间:2023-10-30 23:59:47 24 4
gpt4 key购买 nike

对于某些类型的程序,我需要使用常量高值来指示某些变量的某些属性。我的意思是让 color[i] = 1000000; 如果树中的 i 节点未被探索。但是我经常把末尾0的个数写错,所以我想知道这样写是不是更好:

#define UNEXPLORED 1000000;
color[i] = UNEXPLORED;

我记得我在某处读到过避免使用#define 会好得多。这样对吗?你会如何解决这个问题?

最佳答案

对于简单常量,您可以使用 const 或新的 constexpr :

constexpr unsigned int UNEXPLORED = 1000000;

在这种情况下,使用constconstexpr 没有区别。但是,标记为 constexpr 的“变量”是在编译时而不是在运行时求值的,并且可以在原本只接受文字的地方使用。

关于c++ - 我应该避免在 C++ 中使用#define 吗?为什么,我可以使用哪些替代方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15218760/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com