将main中的值赋给类静态变量

Assign value in main to a class static variable

本文关键字:静态 变量 main      更新时间:2024-09-22

我得到了下一个代码:

class Pipeline{
public:
static Pipeline foo;
bool hello(){
----
}
}
bool bar(){
Pipeline::foo::hello();
}
int main(int argc, char *argv[]) {
// Some important process that must be running before creating Pipeline()
Pipeline Pipeline::foo = Pipeline();
bar();
}

我试图将一个对象定义为一个静态值。然而,我发现静态变量不能在main方法内部定义,所以我必须在外部定义,就像上面的例子一样。

如何重组代码以在main中创建Pipeline对象(而不是通过在main之外定义静态变量来创建(?

你不能这样做。静态变量初始化在任何函数之前。可以使用指针或unique_ptr作为静态变量。然后在主函数中更改/init。