c++ - C++ 中私有(private)变量在栈中的什么位置

标签 c++ stack private

我试图溢出 C++ 中的一个缓冲区,它是一个私有(private)变量。它位于堆栈的什么位置?这可能吗?

有点像

class aClass{
private:
  char buffer[SIZE];
public:
}

最佳答案

公共(public)变量和私有(private)变量在布局方面没有任何区别。分配在堆栈上的类具有分配在堆栈上的内部数据成员 - 无论是私有(private)的还是公共(public)的。

class MyClass {
public:
    int PublicInt;
private:
    int PrivateInt;
};

int main() {
    MyClass instance;
}

在内存方面相当于

int main() {
    int a, b;
};

关于c++ - C++ 中私有(private)变量在栈中的什么位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5253703/

相关文章:

javascript - 最新 chrome 中的类私有(private)方法

java - 即使没有 protected ,类如何访问其父类(super class)变量?

c++ - 如何正确比较两个无符号字符?

.net - 如何定位特定版本的 C++ 运行时?

C++ 异常和来自 std::exception 的继承

operating-system - 内核堆栈和用户堆栈有什么区别?

c - 堆栈如何在 C 中工作的解释

编译源代码时找不到 C++ 标识符

c++ - 在另一个平台上构建?

Java Stack.peek() 到对象