nal*_*d88 5 c++ function header-files
独立的 C++ 函数需要头文件和代码文件吗?
我正在编写一些 C++ 函数,这些函数使用我的一些其他 C++ 类,但它们本身不属于某个类。它们打算在 dll 中编译,所以我想知道是否有必要在单独的头文件中声明它们,或者我是否可以/应该将声明放在 .cc 文件中。
也许这只是不好的做法?
头文件很有用,因为它能够让其他源文件了解在不同翻译单元中声明的函数。
编译器必须这样做才能检查您所调用的内容对于类型检查器来说是否正确。但必要性来自声明本身,而不是来自头文件的存在。
对于 DLL,如果我没记错的话,您不会被迫这样做,只是因为无论何时使用它们,您都会声明函数的签名,例如。
extern C __declspec(dllimport) void foo();
当然,这意味着您无论如何都需要转发声明它们,因此我认为为您的 DLL 提供头文件不会有任何问题,它只会将所有签名保留在一起。