如何解释c ++ 11中的静态代码

问题描述 投票:0回答:1

我只是阅读源代码,使用c ++ 11编写,代码如下:

inline Class& function() {
    static Class x;
    return x;
}

function()。app()

此函数是单例模式吗?是奇怪的编码。

c++11 static
1个回答
0
投票

子例程静态意味着在栈上,return&意味着返回一个指向它的指针,它们非常单数,但是不能保证过程中的其他地方没有Class x。 Wiki说您必须隐藏构造函数,并具有类方法才能返回对类静态对象的引用:https://en.wikipedia.org/wiki/Singleton_pattern

© www.soinside.com 2019 - 2024. All rights reserved.