相关疑难解决方法(0)

在什么情况下我使用malloc vs new?

我在C++中看到有多种方式来分配和释放数据,我知道当你打电话给malloc你时应该打电话free,当你使用new操作员时你应该配对,delete将两者混合是错误的(例如,调用free()创建的东西)与new操作员),但我不知道何时应该使用malloc/ free何时应该在我的真实世界程序中使用new/ delete.

如果您是C++专家,请告诉我您在此方面遵循的任何经验法则或惯例.

c++ malloc memory-management new-operator

447
推荐指数
12
解决办法
26万
查看次数

'new operator'和'operator new'之间的区别?

"new operator"和"operator new"有什么区别?

c++

116
推荐指数
6
解决办法
4万
查看次数

为什么明确地调用operator new

我看到这样的代码:

void *NewElts = operator new(NewCapacityInBytes);
Run Code Online (Sandbox Code Playgroud)

并且明确地匹配调用operator delete随后使用.

为什么这样做而不是:

void *NewElts = new char[NewCapacityInBytes];
Run Code Online (Sandbox Code Playgroud)

为什么显式调用operator newoperator delete??

c++ memory-management new-operator

16
推荐指数
2
解决办法
3822
查看次数

新运营商返回什么?

我是初学者,这个问题总让我感到困惑.我的学术书说新操作员返回一个地址.但在许多教程中,我发现new返回指向特定地址的指针.拿着这个:

  char *name = new char[x];
Run Code Online (Sandbox Code Playgroud)

这里为name命名了什么值,动态分配的地址或指向动态分配的char的指针?谢谢

c++ new-operator dynamic-memory-allocation

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