我今天正在学习C ++中的静态类函数,我真的不明白它们有什么用?有没有人有一些很好的例子可以成功应用?
谢谢,Boda Cydo。
答案 0 :(得分:5)
类的静态成员函数只是普通(非成员)函数。你知道普通的功能有什么用,对吗?因此,出于同样的原因,静态成员函数对同样的东西都有好处。
有时普通函数与类之间的关系紧密,因此将它声明为类的静态成员是有意义的,而不是将其声明为完全独立的独立函数。它可以帮助您表达函数与类具有紧密关系的事实。此外,这赋予该功能对该类内部的完全访问权限 - 对其私有和受保护的成员。
后者实际上可以使用静态成员函数实现一些有用的编程习语和模式。例如,搜索“静态构造函数”习语。
答案 1 :(得分:0)
静态类与命名空间类似,但它们提供保护(受保护和私有),并且可以转换为模板(是的,裸函数也可以,但它们有限制,有时使包装类模板更容易甚至是必要的)
答案 2 :(得分:0)
想想“全球”。一个非静态函数,因为你正在学习对一个对象进行操作,而一个静态函数由一个类的所有对象共享 - 所以......所有这些对象有什么共同之处?
根据您的班级而有所不同,但请考虑“摘要信息”。想想数据。想想在班级的所有对象中什么是共同的。也许每个人都有一个特定于自己的跑步总数,但你也想要全球总数?想一想......
答案 3 :(得分:0)
静态成员函数可用于对静态,常量数据成员执行非平凡的初始化。例如,您可能在某个类中使用静态的常量容器。静态成员函数可用于创建返回并复制到静态常量数据成员中的容器实例。