gpt4 book ai didi

c++ - 将类的对象实例化数量限制为给定数量

转载 作者:太空狗 更新时间:2023-10-29 23:53:23 25 4
gpt4 key购买 nike

给定一个类,我想将从该类创建的对象数量限制为给定数量,比如 4。

有什么方法可以实现吗?

最佳答案

基本思想是计算某个静态变量中创建实例的数量。我会像这样实现它。存在更简单的方法,但这个方法有一些优势。

template<class T, int maxInstances>
class Counter {
protected:
Counter() {
if( ++noInstances() > maxInstances ) {
throw logic_error( "Cannot create another instance" );
}
}

int& noInstances() {
static int noInstances = 0;
return noInstances;
}

/* this can be uncommented to restrict the number of instances at given moment rather than creations
~Counter() {
--noInstances();
}
*/
};

class YourClass : Counter<YourClass, 4> {
}

关于c++ - 将类的对象实例化数量限制为给定数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11178724/

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