gpt4 book ai didi

c++ - 从静态函数创建类对象

转载 作者:太空宇宙 更新时间:2023-11-04 14:24:21 24 4
gpt4 key购买 nike

假设我有如下代码。

class Color
{
static Color a;
public:
static Color newColor(int r,int g,int b){
Color color;
color.setR(r);
color.setG(g);
color.setB(b);
return color;
}
}

是否可以使用“Color a = Color::newColor(255,0,0);”初始化静态变量“a”?我想我在某处读到使用此方法创建实例将创建该类的两个实例。这样做的正确方法是什么?

最佳答案

是的,颜色被实例化了两次

  1. newCOlor 中的局部变量 color 和
  2. 静态 Color a(由于您要返回一个对象,因此在静态变量定义/初始化时将发生成员复制)。

一定要把 Color::a = Color::newColor(255,0,0);在 cpp/cc 文件中,意味着不在头文件中。

关于c++ - 从静态函数创建类对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5255170/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com