传递可变数量的对象作为对类的引用

时间:2013-09-09 09:26:37

标签: c++ arrays class

我有用于加载图片的库。该库使文件中的类对象具有自己的绘图功能。我试图构建一个可以处理这些对象的类,并在加载我的文件后实现一些简单的逻辑。将它们作为引用或指针传递给我的处理类的好方法是什么?

这是我到目前为止所得到的:

1)逐一传递它们作为参考。当我添加文件时,我将始终将新文件写入我的类定义。

2)将所有对象加载到数组中并将其作为参考传递。我仍然需要设置类定义,以便我知道数组中有多少项。但是,如果我在程序的各个步骤中加载了不同数量的文件,该怎么办?编写许多构造函数/函数重载似乎不是一种正确的方法。

我搜索了周末并没有找到任何解决方案,所以任何积分和提示都会受到欢迎。哦,我是C ++的新手,所以请考虑我的知识有限。我可以理解指针和引用是什么,但用它们实现的东西很慢。

重复我的问题。将可变数量的对象作为引用或指针传递给我的处理类的好方法是什么?

2 个答案:

答案 0 :(得分:0)

您没有包含有关您的问题的源代码详细信息,但您的解决方案#2应该没问题,您只需传递一个int变量来保存数组中的元素数量。

答案 1 :(得分:0)

你可以让你的功能看起来像这样:

void my_function(std::vector<SomeObject *> &objs) {
   // ...
}

然后您可以使用Iterator迭代objs向量,或者只需检查

objs.size()

请参阅http://en.cppreference.com/w/cpp/container/vector