为什么 C++不允许实例化不完整类型的容器?
编写没有这个限制的容器当然是可能的 - boost :: container完全能够做到这一点.据我所知,它似乎没有给出任何性能或其他类型的增益,但标准声明它是未定义的行为.
例如,它确实阻止了构建递归数据结构.
为什么C++标准会强加这种任意限制呢?尽可能允许不完整类型作为模板参数的缺点是什么?
c++ templates stl incomplete-type
c++ ×1
incomplete-type ×1
stl ×1
templates ×1