C++ - 为什么不能使用 'const' 限定符创建静态成员函数

标签 c++ static language-lawyer const-method

今天我遇到了一个问题。我需要一个 static 成员函数,const 不是必须的,而是更好的。但是,我的努力没有成功。谁能说出为什么或如何?

最佳答案

当您将 const 限定符应用于非静态成员函数时,它会影响 this 指针。对于类 C 的 const 限定成员函数,this 指针的类型是 C const*,而对于不是const 限定,this 指针的类型为 C*

静态成员函数没有 this 指针(这样的函数不会在类的特定实例上调用),因此静态成员函数的 const 限定没有任何意义.

关于C++ - 为什么不能使用 'const' 限定符创建静态成员函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7035356/

相关文章:

c++ - qt图表等轴(轴应该形成正方形而不是矩形)

java - 在两个线程中使用相同的变量,但我不知道为什么它们不会在 Java 中更新

c++ - g++ 的严格别名警告准确性

c++ - 如何为 friend 函数中定义的类授予友元?

c++ - contiguous_range始终是size_range吗?

C++ 动态字节签名

c++ - 为什么调用 std::vector::back() 会使我的程序崩溃

C++每个派生类中的不同常量成员,如何移动函数以消除访问中的重复?

c++ - 将字符串插入堆栈?

Java:调用静态方法但没有任何反应?