在这种情况下,实际上不应该有任何性能提升,因为你的示例中关键字const只告诉编译器指针访问将被限制为只读访问(例如,在使用互斥保护或原子指针的情况下可能会增加性能)。但是指针本身将是一个变量!然而,如果您想使用指向只读值的常量指针,则必须像这样声明它:const DATATYPE * const name 即使在这种修改后的情况下,大多数编译器也不应该看到任何性能改进,因为良好的编译器会自动检测给定代码中是否实际上将某些内容视为常量和/或只读实体,然后进行相应的优化(在内部)而无需程序员在各处繁琐地使用“const修饰符”。(并不是说所有const用法都是冗余的——远非如此,例如,明确使用const来定义只读实体可以生成良好且安全的API。)
const
变量,但这只是const
的最不重要的功能(而且你可能无论如何都不会注意到任何性能差异)。 - Yksisarvinenconst
。如果可能的话,请尽量避免使用指针。 - Some programmer dudeDATATYPE* const
)。 - Some programmer dudename->method()
由于const而最终调用了不同的函数。 - Marc Glisse