c# 我应该使用const char* 还是#define?[关闭]

u7up0aaq  于 2023-06-04  发布在  C#
关注(0)|答案(1)|浏览(182)

已关闭,此问题为opinion-based。目前不接受答复。
**想改善这个问题吗?**更新问题,以便editing this post可以用事实和引用来回答。

5小时前关闭
截至5小时前,社区正在审查是否重新开放此问题。
Improve this question
我写一个CLI工具在C和我想打印版本号,如果有一些地方(帮助信息,用法等)
最好用

#define VERSION "1.2.0"

const char *version = "1.2.0";

在性能、编译器优化等方面?

iq3niunx

iq3niunx1#

关于性能,这对现代编译器来说并不重要。对于调试,第二种变体更实用,因为调试器不知道预处理器的符号。另一方面,如果你使用某种方法来确定应用程序的版本(例如使用GNU autotools),第一种方法会更常见,因为你可以从命令行定义它,所以你不必改变你的代码,改变版本号,或者让用户注入他喜欢的东西。

相关问题