相关疑难解决方法(0)

什么时候应该使用原始指针而不是智能指针?

在阅读完这个答案后,看起来最好尽可能使用智能指针,并将"普通"/原始指针的使用量降至最低.

真的吗?

c++ boost pointers smart-pointers

56
推荐指数
3
解决办法
3万
查看次数

这是内存泄漏吗?

我是c ++的新手,我刚学会了动态内存和内存泄漏.

根据我的理解,在创建指针(int *ptr = new int),然后更改他指向的地址时,旧地址仍然存在/已分配.(如果我是冤枉,请纠正我).

所以我想到了这个:

int *ptr;
ptr = new int;
Run Code Online (Sandbox Code Playgroud)

第一个ptr是填充随机(或不是?)地址,然后我改变它,所以旧的地址保留?如果我尝试这个代码:

int *ptr;
cout << ptr << endl ;
ptr = new int;
cout << ptr << endl ;
Run Code Online (Sandbox Code Playgroud)

我明白了:

0x401a4e
0x6d2d20
Run Code Online (Sandbox Code Playgroud)

这是否意味着0x401a4e是内存泄漏的一部分?或者当ptr移动到动态内存时它会被释放吗?它是如何工作的?

c++

4
推荐指数
2
解决办法
479
查看次数

这段代码会泄漏内存吗?(引用,新的,但没有删除)

可能重复:
使用引用而不是指针,解决C++中的内存泄漏问题?

当我问这个问题时

使用引用而不是指针,解决C++中的内存泄漏问题?

出现了一个新问题,我在这篇文章中提出了这个问题.

这段代码会泄漏内存吗?

class my_class
{
  ...
};

my_class& func()
{
  my_class* c = new my_class;
  return *c;
}

int main()
{
  my_class& var1 = func();

  // I think there is no memory leak.
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ memory-leaks

0
推荐指数
1
解决办法
349
查看次数

标签 统计

c++ ×3

boost ×1

memory-leaks ×1

pointers ×1

smart-pointers ×1