我在Visual Studio 2008上使用c ++。
我在我的应用程序中使用第三方库(BCG)。我需要对BCG类的成员变量的访问说明符(从protected到public)进行更改。问题是:在我的应用程序中包含的头文件中更改访问说明符是否安全,而不重新生成dll文件?它可以这样做,从表面上看,似乎工作正常。但是我不确定它是否安全。
我试图从第三方库中使用的类派生,为了实现我想要的,我需要从另一个类访问受保护的变量。我想要进行最小的破坏性更改(以便将来集成),所以我想避免更改dll文件。
答案 0 :(得分:1)
实例成员访问不涉及链接器中任何符号的修复。相反,成员的身份编译为对象指针的偏移,因此名称修改和其他链接问题不会进入它。这就是为什么它似乎适合你。
修改描述由您无法重建的DLL发布的类的标题通常是危险的行为,因此请谨慎行事。