【发布时间】:2015-05-06 20:21:12
【问题描述】:
是否存在类似于“动态大小的不可调整大小的数组”的 C++ 类型?这种类型可以被认为是以下两种情况之一:
-
vector<T>但没有resize、push_back等。 -
array<T,N>但其中N是动态的而不是静态的。
我不想要一个仅在数组中元素的类型是不可复制类型时才有效的解决方案。我想要一个通用的解决方案。
【问题讨论】:
-
为什么需要这个?为什么不能使用向量或数组?
-
我希望我的类型尽可能准确。我计划使用一些
vector,但只设置一次它的大小,然后只更改它的值。如果我可以通过类型系统而不是通过评论来记录这一点,我更喜欢。 -
为什么数组类只能在类型不可复制的情况下工作?
-
@tenfour:如果有人忘记不应该调整这些函数的大小,则无法阻止使用这些函数。如果您依赖稳定的迭代器和对元素的引用,那可能是灾难性的。
-
@Cyber - 这不是重复的。请注意,在最初的问题中,解决方案建议使用不可复制的元素,我特别说我想要一个通用的元素。
标签: c++ arrays boost vector stl