是否可以创建一个只能构建一次的类?如果您尝试创建其他实例,则会发生编译时错误。单类实例C++
Q
单类实例C++
2
A
回答
0
为什么编译错误?我想,你只需要实现Singleton设计模式。 看here
0
的类只有一个实例被称为单类新,
有许多方法来执行。最简单的显示如下
class MySingleton
{
public:
static MySingleton& Instance()
{
static MySingleton singleton;
return singleton;
}
// Other non-static member functions
private:
MySingleton() {}; // Private constructor
MySingleton(const MySingleton&); // Prevent copy-construction
MySingleton& operator=(const MySingleton&); // Prevent assignment
};
4
实例在运行时是动态的。编译错误在编译时。所以答案是否定的,不可能在任何第二个实例化上得到编译错误。
但是,您可以使用单身人士,但要非常仔细地考虑是否真的需要。
相关问题
- 1. 实例化单例类
- 2. C++实例化类
- 3. 实例类 - >静态类 - > C#中的实例类
- 4. C++嵌套类实例
- 5. C++不好的类实例
- 6. C++类实例化理论
- 7. C#类实例声明
- 8. 在Objective C中创建单例类的另一个实例
- 9. 单个实例/基类
- 10. 为Actionscript实现单例类
- 11. Java类的单个实例
- 12. 显式实例化C++类模板实例化相关基类?
- 13. C++/CLI中的单例实例?
- 14. WebApplication有2个单例类的实例
- 15. MDI单实例C#..如何实现?
- 16. C++单例模板类
- 17. C++:从基类实例构造子类?
- 18. C#调用C++单例类基于DLL
- 19. Google模拟一个单例类C++类
- 20. 为什么这个单例实现使用私有类(C++)?
- 21. C++参数包,受限于具有单一类型的实例?
- 22. 从C#创建IronPython类的实例
- 23. 在C++中实例化派生类型
- 24. C# - 实际例子 - 抽象类
- 25. 从C#到JavaScript - 使用类实例
- 26. Objective-C类实例在alloc处归零?
- 27. c#实例化字符串中的类
- 28. C++中的相互类实例
- 29. C++类的实例化问题
- 30. C中的类实例通信#
你在找什么叫做单身。 http://en.wikipedia.org/wiki/Singleton_pattern我必须敦促你,但要非常认真地考虑一个单例对你的应用是否真的有意义。单身人士使用时间的99%,不应该是这样。 – Corbin 2012-04-28 08:33:22
但是,单例只会为所有创建查询返回相同的实例。可能这接收异常更有用。 – 2012-04-28 08:34:01
AFAIK没有选择让这样的类有编译时错误。但是有一种叫做'Singleton'的流行模式,用于制造这种阻止实例化的类。你可以很容易地谷歌的例子。 – Yarg 2012-04-28 08:35:57