小编jac*_*row的帖子

使用make_shared和make_unique时是否需要检查nullptr?

如果我使用make_shared或创建指针,make_unique则是否必须检查它是否为指针nullptr,例如:

std::unique_ptr<class> p = std::make_unique<class>();
if (p == nullptr)
{
    ....
    ....
}
Run Code Online (Sandbox Code Playgroud)

如果您真的用完了内存,请std::make_unique按预期进行。因此,您永远不会从获得空指针std::make_unique。它是否正确 ?

因此nullptr,您无需检查何时make_sharedmake_unique

c++ c++11 c++14 c++17

8
推荐指数
1
解决办法
200
查看次数

std :: make_shared和std :: make_unique是否具有“ nothrow”版本?

对于新操作员,我们具有以下std::nothrow版本:

std::unique_ptr<T> p = new(std::nothrow) T();
Run Code Online (Sandbox Code Playgroud)

我们对于std::make_shared或有这样的东西std::make_unique吗?

c++ new-operator c++-standard-library nothrow

7
推荐指数
1
解决办法
219
查看次数

如何将字符串数组转换为字符**

我想在这里手动发送值

void processArgs(int argc, char** argv);
Run Code Online (Sandbox Code Playgroud)

如果我像这样发送

char* cwd[] = {"./comDaemon", "--loggg=pluginFramework:debug"};

parser->processArgs(2, cwd);
Run Code Online (Sandbox Code Playgroud)

编译器显示警告为

警告:ISO C++ 禁止将字符串常量转换为 'char*' [-Wwrite-strings]

 char* cwd[] = {"./comDaemon", "--loggg=pluginFramework:debug"};
Run Code Online (Sandbox Code Playgroud)

c++ c++11

4
推荐指数
1
解决办法
166
查看次数

标签 统计

c++ ×3

c++11 ×2

c++-standard-library ×1

c++14 ×1

c++17 ×1

new-operator ×1

nothrow ×1