gpt4 book ai didi

c++ - 如何将 'new' 类添加到 vector

转载 作者:太空宇宙 更新时间:2023-11-03 10:35:51 26 4
gpt4 key购买 nike

我正在用 C++ 编写一个服务器,并创建了一个名为 client 的类来存储有关已连接客户端的信息。我想将客户存储在一个 vector 中。我有一个电话

clients.push_back(new client(addr,fd));

将客户端对象添加到 vector 客户端。编译时出现以下错误

server.cpp:67: error: no matching function for call to ‘std::vector<client, std::allocator<client> >::push_back(client*)

我认为这与我对 new 关键字的误解以及数据在 C++ 中的存储/移动方式有关。我来自 Java 背景,所以我不习惯 C++ 的指针和内存。

最佳答案

你几乎肯定只是想摆脱 new 所以它是:

clients.push_back(client(addr, fd));

在 Java 中,您必须显式新建所有对象,但在 C++ 中,您不仅不需要,而且通常希望在合理的情况下避免这样做。

关于c++ - 如何将 'new' 类添加到 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3774408/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com