我有一个(虚拟)函数,它返回std::vector
一个单一的值。让我们假设这个类看起来像:
#include <vector>
class Z; // irrelevant
class C
{
Z& something;
public:
typedef std::vector<Z*> list_type;
virtual list_type f();
};
使用重复构造函数是否更好:
C::list_type C::f()
{
return list_type(1, &something);
}
或者只是push_back()
单个元素:
C::list_type C::f()
{
list_type ret;
ret.push_back(&something);
return ret;
}