是否建议<t>在我的公共接口中指定例如向量?
Is it recommended to specify e.g. vector<t> in my public interface?
我是c++新手,在编写一个类时,我意识到我的一个方法要求向量的向量。应该这样做还是应该重新考虑类的接口?(如何?)
我认为你用什么容器都没有问题。你可以这样写
void func(std::vector<std::vector<int> > const& int_matrix);
或者在c++ 11中,连续的>
不会被认为是'>>',所以你也可以使用
void func(std::vector<std::vector<int>> const& int_matrix);
但问题是,如果您的工作以二进制而不是源代码发布,则接口的用户应该具有与您相同的STL实现,否则可能会出现奇怪的运行时错误。因此在这种情况下使用STL容器作为接口是不合适的。你必须自己定义一些结构作为参数的类型。
向量的向量不一定是坏事。如果您需要像多维数组这样的东西,那么您就需要所需的东西。(只需确保通过[const]引用传递vector)。
你可能想改变你的问题的标题,因为标题是"vector<<b>T>"(粗体,因为它认为这是一个HTML标签)但你的问题是关于向量的向量。
IMO,如果可能的话,最好将所有vector
合并为单个vector
。有vector
的vector
对我来说没有多大意义。
相关文章:
- 写入向量<向量<bool>>
- 函数向量_指针有不同的原型,我可以构建一个吗
- std::向量与传递值的动态数组
- 将值指定给向量(2D)的向量中的某个位置
- 找不到成员对象:没有名为get_event()的成员,也处理多态性和向量
- 如何使用向量的template_back函数
- 尝试通过多个向量访问变量时,向量下标超出范围
- 如何通过派生类函数更改基类中的向量
- C++从另一个类访问公共静态向量的正确方法是什么
- 如何将ampl中的集合表示为c++中的向量
- 变量没有改变?通过向量的函数调用
- 迭代时从向量和内存中删除对象
- 向量 <int> a {N, 0} 和 int arr a[N] = {0} 的时间复杂度有什么区别
- 创建接口和混凝土类并在向量中使用它们会导致调用方法时的怪异行为
- 接口 PTR 的返回向量C++
- swig:接口简单的C 类,返回向量
- Clean方法来调用具有对象向量的接口函数
- Sort函数,它获取指向接口类的指针向量
- 是否建议<t>在我的公共接口中指定例如向量?
- 向具有基接口类参数的向量添加派生类对象