相关疑难解决方法(0)

如何在C++中实现私有变量的访问?

编译器如何控制内存中变量的保护?是否有与内存中的私有变量相关联的标记位?它是如何工作的?

c++ memory-management data-protection private-members

13
推荐指数
1
解决办法
1478
查看次数

使用 reinterpret_cast 访问私有数据

这似乎成功编译和访问私有数据。这是定义明确的行为吗?

#include <iostream>
#include <string>

using std::string;

class foo {
    string private_data = "Hello World";
};

int main()
{
    foo f;
    auto* pprivate_data = reinterpret_cast<string*>(&f);
    std::cout << *pprivate_data << '\n';
}
Run Code Online (Sandbox Code Playgroud)

这个问题有点相似,但我相信它没有解决我的问题。

c++ language-lawyer

8
推荐指数
2
解决办法
163
查看次数

标准在哪里谈论混叠?

在C++标准中它在哪里讨论别名?我看着ToC,没有提到"别名"这个词.我试着查看一个定义规则(3.2),搜索'别名'没有结果.我可能会感到茫然.我正在寻找内存别名

c++ standards language-lawyer c++11

5
推荐指数
1
解决办法
237
查看次数