我知道,出于可读性的考虑,在通过引用或指针传递参数时,如果可能的话,应该使用 const 关键字。如果我指定一个参数是常量,编译器是否可以进行任何优化?
可能会有一些情况:
功能参数:
经常引用:
void foo(const SomeClass& obj)
Constant Some Class 对象:
void foo(const SomeClass* pObj)
以及指向 SomClass 的常量指针:
void foo(SomeClass* const pObj)
变量声明:
const int i = 1234
函数声明:
const char* foo()
每个编译器都提供了哪种编译器优化(如果有的话) ?