dan*_*jar 9 c++ class header-files
现在我根本不使用头文件.类.cpp
完全位于单个文件中.但是为了节省编译时间,我现在想要使用头文件.我希望Visual Studio不会编译那些未针对调试版本进行修改的类.
有没有办法在头文件中仅提及公共方法和成员.从理论上讲,这将是编译器的足够信息.如果另一个文件,比如main.cpp
包括类头,则不需要私有方法和成员,是吗?
如何在不重新输入私有方法和成员名称的情况下使用头文件?我想要的原因是编码效率.当我想要为另一个方法使用的类添加一个小帮助函数时,我不想也必须将它的签名添加到头文件中.
NPE*_*NPE 11
如果另一个文件,比如main.cpp包含类头,则不需要私有方法和成员,是吗?
不,public
方法和成员不一定足够.例如,如果另一个.cpp
文件尝试创建您的类的实例:
SomeClass instance;
Run Code Online (Sandbox Code Playgroud)
除其他事项外,编译器需要知道要分配多少内存SomeClass
.为此,它需要完全了解SomeClass
私人数据成员.
你构建问题的方式让人觉得你好像打算用语言来对抗.我认为这不是一个很好的方法.我认为最好的方法是按照您选择的语言以通常的方式做事情,并且只有在有明确理解的特定需求时才会离开.
通常在C++中完成的方式是整个类声明都在头文件中,并且定义在某种程度上分割在头文件和相应的.cpp
文件之间.确切的划分由各种技术考虑决定.例如,模板和内联函数通常必须出现在头文件中.另一方面,将代码放在头文件中会增加依赖性并可能增加构建时间.
有办法解决这些问题.然而,由于这涉及额外的复杂性,我认为只有在有明确可识别的需求时才应该这样做.
归档时间: |
|
查看次数: |
5258 次 |
最近记录: |