这是一行代码:
A a = static_cast<A>(*(new A)); // ?
它至少在 64 位 clang 上编译得很好。
但是实际分配的内存在哪里,变量a会发生什么?
最佳答案
除了不需要静态转换之外,用 new A
分配的内存只会泄漏。您已失去对该指针的访问权限,并且永远无法再正确地删除
它。
But where is the memory actually allocated and what happens to variable a?
变量 a
像往常一样一旦离开作用域就被销毁。
关于c++ - 这个内存分配分配在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39195666/