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

多态类的对象作为参数时不应采用值传递的方式

8.4 ID_paramMayBeSlicing
目录 › next › previous

将派生类对象通过传值的方式转换为基类对象后,不再遵循多态机制,易产生意料之外的错误,应采用指针或引用的方式传递多态类对象。

示例:

class A {
public:
    virtual int fun();
};

void foo(A);   // Non-compliant

void bar(A&);  // Compliant
void baz(A*);  // Compliant

相关

ID_objectSlicing

参考

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