1
我有一个非静态函数类。由于我的程序的体系结构,我认为使用静态函数会更好,因为类只是一个实用程序。在某些情况下,我只需要该类的一个功能,所以我认为不必创建该对象。基本上我有这个:静态函数静态函数
class StaticCall
{
public:
StaticCall(){}
static int call_1()
{
std::cout << "In call 1" << std::endl;
call_2();
return 0;
}
static int call_2();
{
std::cout << "In call 2" << std::endl;
return 0;
}
};
int main(int argv, char** argc)
{
std::cout << "Calling 1" << std::endl;
StaticCall::call_1();
std::cout << std::endl;
std::cout << "Calling 2" << std::endl;
StaticCall::call_2();
return 0;
}
它工作正常,但我想知道是否可以有任何问题与此方法。我可以通过使用名称空间来实现相同的功能,因为其他职位已经说过。但是因为我已经有了课,我想用静态函数来完成它。
没问题;来自'call_1'的'call_2'总是被正确地调用,因为它们在同一个类 – nikniknik2016
中没有问题,唯一需要考虑的是在C++中,并非所有的东西都必须是类,并且可以争辩说这个类不是最合适的为这种情况构建。例如可以创建这个类的一个实例,即使它没有意义。我至少会让构造函数是私有的。 – user463035818
具有纯函数的命名空间将会很好。你根本不需要任何课程。经验法则:当一个类中没有数据成员时,使用纯函数可能会更好。 – Jojje