☰
  • 首页
  • 规则分类
  • 项目介绍
search
•••

在 C++ 代码中禁用 C 资源管理函数

2.26 ID_forbidMallocAndFree
目录 › next › previous

为了简化资源管理并避免潜在的错误,在 C++ 代码中不应直接使用分配、释放普通指针的函数,而应使用容器、智能指针和相关工厂函数。

示例:

void foo(size_t n) {
    int* p = (int*)malloc(n * sizeof(int));  // Non-compliant
    ....
    free(p);  // Non-compliant
}

应改为:

void foo(size_t n) {
    auto p = make_unique<int[]>(n);  // Compliant
    ....
}

相关

ID_ownerlessResource

参考

C++ Core Guidelines R.10
Copyright©2024 360 Security Technology Inc., Licensed under the Apache-2.0 license.