-
카테고리
-
세부 분야
게임 프로그래밍
-
해결 여부
미해결
Session의 RegisterSend 의 wsaBufs 관련해서 질문드립니다
23.01.02 17:23 작성 조회수 186
0
Vector<WSABUF> wsaBufs;
wsaBufs.reserve(_sendEvent.sendBuffers.size());
for (SendBufferRef sendBuffer : _sendEvent.sendBuffers)
{
WSABUF wsaBuf;
wsaBuf.buf = reinterpret_cast<char*>(sendBuffer->Buffer());
wsaBuf.len = static_cast<LONG>(sendBuffer->WriteSize());
wsaBufs.push_back(wsaBuf);
}
강의의 코드는 위와 같이 작성되어 있습니다.
이렇게 할 경우 wsaBufs.push_back(wsaBuf) 가 복사 연산으로 수행되는 건가요?
만약 그렇다면 복사 연산을 거치지 않고 바로 객체를 벡터에 넣을 수 있는 방법은 없을까요?
답변을 작성해보세요.
0
Rookiss
지식공유자2023.01.02
포인터 하나와 정수 하나라서 복사해도 전혀 상관 없습니다.
하지만 vector에 복사를 거치지 않고 넣고 싶다면
이동 연산을 지원하는 emplace_back을 사용하시면 됩니다.
답변 1