相关疑难解决方法(0)

为什么C++容器不允许不完整的类型?

为什么 C++不允许实例化不完整类型的容器?

编写没有这个限制的容器当然是可能的 - boost :: container完全能够做到这一点.据我所知,它似乎没有给出任何性能或其他类型的增益,但标准声明它是未定义的行为.

例如,它确实阻止了构建递归数据结构.

为什么C++标准会强加这种任意限制呢?尽可能允许不完整类型作为模板参数的缺点是什么?

c++ templates stl incomplete-type

16
推荐指数
1
解决办法
2992
查看次数

标签 统计

c++ ×1

incomplete-type ×1

stl ×1

templates ×1