cuốn sách gpt4 ai đã làm

c++ - 使用 BOOST ASIO 在异步服务器中发送局部变量

In lại Tác giả: Walker 123 更新时间:2023-11-28 07:17:24 25 4
mua khóa gpt4 Nike

它是发送异步局部变量的正确方式吗?函数结束后它不会被释放吗?例如:

NET3_SERVER_DISCONNECT data;
data.mLength = 9;
data.mPacketGroup = 3;
data.mPacketType = 100;
data.mType = 0xcb;
boost::asio::async_write(socket_, boost::asio::buffer((char*)&data, sizeof(data)),
boost::bind(&Connection::handle_write, shared_from_this(),
boost::asio::placeholders::error,
boost::asio::placeholders::bytes_transferred));

Cảm ơn.

câu trả lời hay nhất

你是对的。

由于发送是异步的,定义局部变量的函数可能在数据实际发送之前返回,这意味着指向它的指针不再有效。这会导致hành vi không xác định.

您需要分配堆数据并在回调中释放它,或者使用一些自动释放其内容的结构。

关于c++ - 使用 BOOST ASIO 在异步服务器中发送局部变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20019533/

25 4 0
Walker 123
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress