作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试用 C++ 实现一个简单的单例模式。
#include <iostream>
class simpleSingleton
{
private:
static simpleSingleton * pInstance;
simpleSingleton(){}
simpleSingleton(const simpleSingleton& rs) {
pInstance = rs.pInstance;
}
simpleSingleton& operator = (const simpleSingleton& rs)
{
if (this != &rs)
{
pInstance = rs.pInstance;
}
return *this;
}
~simpleSingleton(){};
public:
static simpleSingleton& getInstance()
{
static simpleSingleton theInstance;
pInstance = &theInstance;
return *pInstance;
}
void demo()
{
std::cout << "simple singleton."
<< std::endl;
}
};
simpleSingleton *simpleSingleton::pInstance = nullptr;
int main()
{
/*Version 1 */
simpleSingleton * p = &simpleSingleton::getInstance(); // cache instance pointer p->demo();
p->demo();
/*Version 2 */
simpleSingleton::getInstance().demo();
return 0;
}
我的问题是关于 simpleSingleton
类可用的多个构造函数
simpleSingleton(){}'
'simpleSingleton(const simpleSingleton& rs)
构造函数应该返回类的对象。在上面的示例中,两个构造函数都没有 return 语句。然而,这似乎是标准的傻瓜实现。这是为什么?
最佳答案
如果你使用单例,请使用 Meyers 的单例:
class Singleton
{
private:
Singleton() = default; // Adapt here
~Singleton() = default; // Adapt here
Singleton(const simpleSingleton& rs) = delete;
Singleton& operator = (const simpleSingleton&) = delete;
public:
Singleton& GetInstance()
{
static Singleton instance;
return instance;
}
};
关于构造函数的 C++ 简单单例实现返回语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39135980/
我最近购买了《C 编程语言》并尝试了 Ex 1-8这是代码 #include #include #include /* * */ int main() { int nl,nt,nb;
早上好!我有一个变量“var”,可能为 0。我检查该变量是否为空,如果不是,我将该变量保存在 php session 中,然后调用另一个页面。在这个新页面中,我检查我创建的 session 是否为空,
我正在努力完成 Learn Python the Hard Way ex.25,但我无法理解某些事情。这是脚本: def break_words(stuff): """this functio
我是一名优秀的程序员,十分优秀!