期間避免拷貝構造函數我有一個類A
:填充成員矢量
class A {
int value1;
int value2;
std::string text;
public:
A(int value1, int value2, std::string text)
: value1(value1), value2(value2), text(text) { }
};
還有一些 「容器」 類B
:
class B {
std::vector<A> objects;
...
public:
...
void addObject(A a) {
objects.push_back(a);
}
};
和代碼:
B b;
A a(2, 5, "test");
b.addObject(a);
//I no longer need a from now on
我的問題是,如何優化B::addObject(A a)
以避免任何複製。我想要的是通過B
的方法將A
類型的新對象添加到B.objects
。
相關:https://stackoverflow.com/questions/2139224/how-to-pass- objects-to-functions-in-c – NathanOliver