我正在使用 Qt/C++。
所以我有一个 vector :
QVector<Room> rooms; //does everything like normal vector from what I've seen(I hope)
我的房间类看起来像这样:
class Room{
Textbox *t;
//other stuff
}
添加房间时,vector 复制一个通过引用传递的房间并将拷贝压入:
void Floor::AddRoom(Room &_room, QWidget *_window)
{
rooms.push_back(_room);
}
我的问题是属于 _room
的文本框指针会发生什么,因为它在复制之前指向某个东西,如果它被创建?我新推出的房间是否会将其 *t
指向与通过引用传递的 _room
相同的地址/对象,或者它将变为 nullptr?
我阅读了文档,但找不到任何有关将对象拷贝推送到 vector 时指针会发生什么情况的信息。 提前致谢。
最佳答案
是的,如果您不提供自己的复制构造函数,它将指向与原来相同的对象,因为复制的是指针的值,而不是指针指向的对象。
关于c++ - 属于对象的指针会发生什么情况,其拷贝被推送到 vector?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45029712/