0
我创建了明确共享的类Foo
。在我的程序中,我有一个数据成员QVector<Foo> data;
,我通过引用来优化内存使用情况,在不同的类之间传递。Qt明确共享项目的隐式共享容器
运行期间,对象可能会更改特定元素data
。例如:
Foo item = data.at(0);
item.setName("newName");
我想知道,如果一个新的载体,是因为母牛的深拷贝或者是它只是Foo
对象的位置0
只是更名?
谢谢你的错字提示:) 我认为你是对的,at()函数返回一个const引用,所以应该使用operator []来修改元素。 但是这使我更加困惑,因为我认为如果容器的元素被修改,将创建一个新的向量副本。我对么? – 2012-04-03 14:19:39
这取决于你对QVector的引用是const还是non-const。 – 2012-04-03 14:34:51