在哪个文件中,我们将非成员函数放在C 中
In which file do we put non-member function in C++?
在C 中非会员函数时,正常实践是什么?我们是将它们放入main.cpp或标头文件或类实现文件中,还是为其制作一个单独的.cpp文件? 如果正常的做法是制作一个单独的文件,那么我们将非会员功能标头(原型(放在哪里?它仅在main.cpp或两个中使用吗?
我会说您不应该对非成员的函数对类,成员函数和其他符号有所不同。
您应该为您的应用程序的每个逻辑组件(模块(创建一个独特的 所有公共符号均应在标题文件中声明/定义.h
和相应的源文件 source文件 .cpp
。<<<<<<<<<<<<<<<<<<<</p>
您的类应该有自己的.cpp文件。非会员功能应在其他文件中进行(全部根据相似性一起分组(。这就是北美的惯例,但惯例有所不同。原型只需要进入标头文件,因此您可以在任何使用的地方包括它。
伪代码中的一般思想:
if (it will be used in other cpp files)
put the declaration in a header file.
implement it in a header or a cpp file.
else
if (only need it in some functions in a header file)
if (it's a function more than N line ) // please define this N in your mind
declare it in the same header and implement it in a cpp file
else
put it in the same header file
else // used in cpp only
put it in the cpp file
只要汇编,您就应该考虑可读性(任何人易于阅读(和可访问性(任何人都可以找到和调试(。
。相关文章:
- 对RValue对象调用的LValue ref限定成员函数
- 为什么使用 "this" 指针调用派生成员函数?
- 将公共但非静态的成员函数与ALGLIB集成
- 使用指向成员的指针将成员函数作为参数传递
- 将重载的成员函数传递给函数模板
- 我不小心调用了一个没有自己类对象的成员函数.但这是怎么回事呢
- 如何在C++中使用非静态成员函数作为回调函数
- C++错误C2600:无法定义编译器生成的特殊成员函数(必须首先在类中声明)
- 关联容器的下界复杂性:成员函数与非成员函数
- 在 C++ 中用派生类型重写成员函数
- 链表的泛型函数remove()与成员函数remove)
- 如何将lambda作为模板类的成员函数参数
- constexpr构造函数需要常量成员函数时出现问题
- 将自由函数绑定为类成员函数
- 区分非成员函数和头文件中的成员函数
- 如何从子成员函数修改父公共成员变量
- 保留对其他类的成员函数的引用
- 在运算符重载定义中使用成员函数(const错误)
- 内联如何影响模块接口中的成员函数
- 将成员函数指针作为参数传递给模板方法