我想将矢量背面的值分配给另一个元素:
iter->second.connection = myConnection->newConnections.back();
但是,这次通话有效地清除了.back()
的内容 - 为什么?
来电前的数据:
fd int 6
sin_size socklen_t 16
theirAddress sockaddr_storage {...}
ipstr char [46] 0x60c498
致电后:
fd int null
sin_size socklen_t null
theirAddress sockaddr_storage {...}
ipstr char [46] 0x88
作为参考,I'尝试分配的类型是结构:
struct NodeConnection
{
int fd;
socklen_t sin_size;
struct sockaddr_storage theirAddress;
char ipstr[INET6_ADDRSTRLEN];
int port;
};
这是newConnections的声明:
vector<NodeConnection> newConnections;