小编man*_*sdf的帖子

强制访问私人会员

假设我使用的是一个不知道自己做得如何的人的开源库。(没有封装重要成员)确实是我的同事,不允许我修改其代码,也不愿意为我修改它。

我如何在不执行伪造类或修改原始类的操作的情况下强制访问私有成员?

我已经尝试过类似的东西#define private public,但是类文件包含一些标准的名称空间文件,这会产生编译错误。

我已经尝试了内存操作,但这需要成员标识,但无法使用。(请参阅以下内容)

#define PX_ACCESS_PRIVATE( pObject, _Member ) ( static_cast< std::size_t >( pObject ) + static_cast< std::size_t >( &( ( decltype( pObject )( nullptr ) )->_Member ) ) )
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

c++ windows visual-c++ c++17

8
推荐指数
1
解决办法
242
查看次数

标签 统计

c++ ×1

c++17 ×1

visual-c++ ×1

windows ×1