0

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

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

1)将它们一一传递作为参考。当我添加一个文件时,我总是必须将新文件写入我的类定义。

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

我搜索了周末,并没有真正找到任何解决方案,所以欢迎任何观点和提示。哦,我对 C++ 很陌生,所以认为我的知识有限。我可以理解指针和引用是什么,但是用它们实现东西很慢。

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

4

2 回答 2

0

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

于 2013-09-09T09:38:00.757 回答
0

你可以让你的函数看起来像这样:

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

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

objs.size()

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

于 2013-09-09T10:12:45.567 回答