gpt4 book ai didi

c++ - 函数指针静态、构造函数

转载 作者:行者123 更新时间:2023-12-02 00:32:41 26 4
gpt4 key购买 nike

在这段代码中,我们有静态类变量,我需要有人解释这里发生了什么以及如何使用它。它是一个静态类变量和一个通过引用获取该变量的函数。

class Constructor 
{
private:
static Constructor constructor;
public:
static Constructor* constructor();

};
Constructor Constructor::constructor;
Constructor* constructor::constructor()
{
return &constructor;
}

最佳答案

删除错误后即可编译

class Constructor 
{
private:
static Constructor constructor_;
public:
static Constructor* constructor();

};
Constructor Constructor::constructor_;
Constructor* Constructor::constructor()
{
return &constructor_;
}

最终在静态变量 Constructor::constructor_ 中得到一个 Constructor 的私有(private)实例,只能通过其静态公共(public) Constructor::constructor() 访问该实例方法。这种只允许创建类的单个实例的构造类型称为单例。它的使用方式如下:

int main(){   
auto* s1 = Constructor::constructor();
auto* s2 = Constructor::constructor();

std::cout << (s1 == s2);
}

查看工作版本here .

参见Thread-Safe Initialization of a Singleton了解更多信息。

关于c++ - 函数指针静态、构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58942041/

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