C++类设计: member and local variables

标签 c++ class variables class-design

以下两个例子之间有什么区别吗?应该优先选择一个吗:

示例 1:

class A
{
    int i;
    B* b;

    do_something();
    do_something_else();
}

A::do_something()
{    
    do_something_else();
}

示例 2:

class A
{
    int i;

    do_something()
    do_something_else(B* b)
}

A::do_something()
{
    B* b;
    do_something_else(b);
}

现在假设有几种方法使用 b 是让它们都将其作为参数还是不带参数并使用成员变量更好?这两种方法在性能上有区别吗?我可以看到两者的好处,但哪个是首选?

最佳答案

如果变量属于您正在设计的对象,则将它们设为成员。如果您只使用临时变量 - 不要让它们成为成员,因为那样的话您只会污染您的对象设计

关于C++类设计: member and local variables,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11135814/

相关文章:

c++ - 使用 protected 或公共(public)的虚拟函数?

c++ - 为什么 std::declval<int>() = std::declval<int>() 无效?

javascript - 如何手动通过 Youtube API 发送消息?

PHP ; foreach 变量范围

c++ - 标准中的哪个地方说成员别名声明可以像静态成员一样使用?

c++ - QProcess未知错误

c++在派生类中定义复制赋值

Python:实例没有属性

python - 正确使用 `isinstance(obj, class)`

variables - 如何将参数或参数传递到 Gradle 任务中?