我经常将指针作为函数 args 传递给只读参数(例如结构等)。例如在这个构造函数中:
Chunk::Chunk(const string& text, COLOR * background, COLOR * foreground);
我以前更喜欢这种方式(不是 const-correct),因为我认为它更容易阅读。但是,我开始觉得这很脏,而是这样做:
Chunk::Chunk(const string& text, const COLOR * const background,
const COLOR * const foreground);
一开始似乎很难理解,但直到你习惯它。我的问题:
为什么没有人做对?(我见过这样的小代码)编译得更好/更小/更快?
我确实知道有什么区别,但我真的不在乎不同的语义,因为任何阅读代码的人都可以看到 args 是只读的。(谁会改变指针地址?)
我知道我可以使用引用来代替,但是假设我不想(或者我在纯 C 中)。