相关疑难解决方法(0)

私有类函数与未命名的命名空间中的函数

我发现自己不会有私人课程.如果可能的话,所有候选私有类函数,而不是我放入未命名的命名空间,并将所有必要的信息作为函数参数传递.我没有一个合理的解释,为什么我这样做,但至少它对我来说更自然.因此,我需要在头文件中公开更少的内部细节.

你有什么看法 - 这是正确的做法吗?

c++ coding-style api-design namespaces static-members

43
推荐指数
3
解决办法
8327
查看次数

有效的C++项目23首选非成员非友元函数到成员函数

虽然对类设计中的一些事实感到困惑,特别是函数是否应该是成员,但我查看了有效的c ++并找到了第23项,即将非成员非友元函数更喜欢成员函数.第一手阅读Web浏览器示例有一定意义,但是该示例中的便捷函数(在本书中命名为非成员函数)会改变类的状态,不是吗?

  • 所以,第一个问题,他们不应该成为会员吗?

  • 进一步阅读,他认为STL函数,实际上某些类没有实现的函数是在stl中实现的.继他们演变成被包装到一些合理的命名空间,如一些便利功能,这本书的想法std::sort,std::copyalgorithm.例如,vector类没有sort函数,并且使用stl sort函数,因此它不是向量类的成员.但是也可以将相同的推理延伸到向量类中的某些其他函数,例如,assign这样也不能作为成员实现,而是作为便利函数实现.但是,这也会改变对象的内部状态,例如它操作的排序.那么这个微妙但重要(我猜)问题背后的理由是什么呢?

如果你有权访问这本书,你可以为我澄清这些要点吗?

c++ encapsulation member-functions effective-c++ non-member-functions

35
推荐指数
4
解决办法
1万
查看次数

C++成员函数与自由函数

我在编写程序时很多时候一直对这个设计决策感到困惑,但是我不能100%确定何时应该将函数作为类的成员函数,何时将其保留为正常函数,其中其他源文件可以在头文件中公开函数声明时调用该函数.在大多数情况下,对类的成员变量的期望访问是否与决策有关?

c++ methods function

29
推荐指数
1
解决办法
1万
查看次数