gpt4 book ai didi

C++ static-only 类分配

转载 作者:行者123 更新时间:2023-11-30 01:30:30 27 4
gpt4 key购买 nike

我知道如何防止类的堆分配(将 new 和 new[] 设为私有(private))。我知道如何防止堆栈和静态分配(将析构函数设为私有(private))。

我想知道在编译时是否只允许静态分配?

最佳答案

没有。对不起。原因是静态分配对类型的要求与自动分配完全相同;无法区分。

但是,您可以阻止客户端代码实例化您的类型,并提供对由该类型自己的代码创建的一个或多个实例的访问。

一般来说,人们通常认为单例等是一个绝妙的想法,也许它赋予了某种控制感,无论如何,但无论如何,随后发生的是在某个时候需要更通用的实例化,所有这些工作都是不仅浪费了,而且还积极地产生了更多……完全不需要的……工作。

所以一般的建议是,对于过早的优化,不要这样做。

尽管在某些情况下它可能是正确的解决方案。

干杯,

关于C++ static-only 类分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4420199/

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