我很好奇在 C++ 中这样做:
假设我有一个小型库,可以分发给我的用户。我为我的客户提供他们需要的二进制文件和相关的头文件。例如,假设在开发中使用了以下标头:
#include <string>
ClassA
{
public:
bool setString(const std::string & str);
private:
std::string str;
};
现在我的问题。对于部署,我给我的客户一个“减少”的标题有什么根本错误吗?例如,我是否可以剥离私人部分并简单地给他们这个:
#include <string>
ClassA
{
public:
bool setString(const std::string & str);
};
我的直觉说“是的,这是可能的,但是有问题”,这就是我在这里问这个问题的原因。如果这是可能的并且安全的话,它看起来是隐藏私有变量的好方法,因此在某些情况下甚至可以避免前向声明。
我知道这些符号仍然存在于二进制文件本身中,这只是源代码级别的可见性。
谢谢!