相关疑难解决方法(0)

"static const"vs"#define"vs"enum"

在C中的以下陈述中哪一个更好用?

static const int var = 5;
Run Code Online (Sandbox Code Playgroud)

要么

#define var 5
Run Code Online (Sandbox Code Playgroud)

要么

enum { var = 5 };
Run Code Online (Sandbox Code Playgroud)

c constants

550
推荐指数
12
解决办法
33万
查看次数

static const vs #define

使用static constvars比#define预处理器更好吗?或者也许取决于背景?

每种方法的优点/缺点是什么?

c c++ const

200
推荐指数
6
解决办法
14万
查看次数

清单常量vs C++关键字"const"

阅读Meyers一书(第2项"更喜欢const到#define")我想理解下面列出的一些句子:

  1. 参考#define ASPECT_RATIO 1.653const aspect_ratio = 1.653Meyers 之间的比较要求"......在浮点常数的情况下(例如在这个例子中),使用常量可能产生比使用更小的代码#define." 问题是:使用较小的代码Meyers意味着可执行文件磁盘上的空间较小?为什么它更小?我认为这可能在32位系统上有效,因为在这种情况下,一个int(或指针)需要4个字节和一个双8字节.因为ASPECT_RATIO可能无法输入符号表,所以名称将替换为值,而在其他情况下可能会使用const指向唯一double值的指针.在这种情况下,这个概念在64位机器上不再有效(因为指针和double是相同的字节数).我不知道我是否解释了我的意思,特别是如果这个想法是正确的?

  2. 然后迈耶斯问道:"虽然好的编译器不会const为整数类型的对象留出存储空间(除非你创建一个指针或对象的引用),但是你可能不愿意为这样的编译器留出内存对象..."在这种情况下,内存是执行过程占用的RAM?如果验证这是正确的我可以使用任务管理器(在Win中)或顶部(在Linux中)?

c++

9
推荐指数
1
解决办法
3127
查看次数

const值与#define,将使用哪种芯片资源?

如果我定义一个宏,或者使用静态const值,在嵌入式系统中,
将使用哪种内存,芯片闪存或芯片内存?哪种方式更好?

c embedded

4
推荐指数
1
解决办法
1813
查看次数

标签 统计

c ×3

c++ ×2

const ×1

constants ×1

embedded ×1