基于问题Using array of pointers as parameter to method我想问当有人想创建一个抽象类的引用结构时,有什么可行的方法可用。之后,它充满了不同的对象,这些对象的类显然是从同一个基础派生而来的。这种结构也必须在不同类别的职能中被“转移”作为论点。引用抽象类类型的结构
我遵循链接问题中提供的策略(当然有缺陷),因为我无法声明抽象类的对象数组。但是,这可以通过指针数组来实现。这可以通过使用一个载体来完成,而不使用像这样的指针:
vector<Square> allSquares;
?如果矢量本身通过参考传递(& allSquares),那么这种情况下的引用是否保留其初始地址?
或boost :: ptr_vector <>。 ptr_vector获取所有包含的指针的所有权。它的接口还返回对象的引用(而不是指针),因此可以更容易地与标准算法一起使用(因为您不需要对迭代器进行两次去引用)。 –