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

类成员的类型不应为 void*

6.4.5 ID_forbidMemberVoidPtr
目录 › next › previous

与接口相关的数据类型应保持精确,不应将成员类型设为 void*,尤其是非 private 成员的类型,更不应设为 void*。

在 C++ 代码中,如果成员需要面对多种不同类型的数据,应合理使用模板机制。

示例:

class A {
public:
    void* dat;   // Non-compliant
    ....
};

应改为:

template <class T>
class A {
public:
    T* method_about_dat();
private:
    T* dat;   // Compliant
    ....
};

相关

ID_voidCast ID_forbidFunctionVoidPtr

参考

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