gpt4 book ai didi

c++ - 何时使用不声明类但具有函数定义的头文件

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:09:19 31 4
gpt4 key购买 nike

我是 C++ 的新手,我见过一堆在头文件中有方法定义的代码,它们没有将头文件声明为类。有人可以向我解释为什么以及何时会做这样的事情。这是一种不好的做法吗?

提前致谢!

最佳答案

Is this a bad practice?

一般不会。有很多库都是header only,这意味着它们只提供头文件。这可以被视为编译库的轻量级替代品。

不过,更重要的是,在某些情况下您不能使用单独的预编译编译单元:模板必须专门用于声明它们的同一编译单元。这听起来很神秘,但它有一个简单的结果:

函数(和类)模板不能在 cpp 文件中定义并在其他地方使用;相反,它们必须直接在头文件中定义(除了一些值得注意的异常(exception))。

此外,C++ 中的类完全是可选的 – 虽然您可以在 C++ 中编写面向对象的程序,但很多优秀的代码却不能。在 C++ 中类补充算法,而不是相反。

关于c++ - 何时使用不声明类但具有函数定义的头文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/902432/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com