C++ 静态成员函数(Static Member Function)是一种特殊的成员函数,它不依赖于任何对象实例即可调用。静态成员函数在以下应用场景中非常有用:
class MathUtils {
public:
static double square(double x) {
return x * x;
}
};
class Rectangle {
public:
static double area(double width, double height) {
return width * height;
}
};
class MyClass {
public:
static std::unique_ptr<MyClass> createInstance() {
return std::make_unique<MyClass>();
}
};
class Singleton {
public:
static Singleton& getInstance() {
static Singleton instance;
return instance;
}
private:
Singleton() {}
Singleton(const Singleton&) = delete;
Singleton& operator=(const Singleton&) = delete;
};
enum class Color {
Red,
Green,
Blue
};
Color getNextColor(Color color) {
return static_cast<Color>((static_cast<int>(color) + 1) % 3);
}
总之,静态成员函数在 C++ 中具有广泛的应用场景,它们提供了一种与类相关但不需要实例化的方法。