인프런 커뮤니티 질문&답변

frontis님의 프로필 이미지

작성한 질문수

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

Session의 RegisterSend 의 wsaBufs 관련해서 질문드립니다

23.01.02 17:23 작성

·

232

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) 가 복사 연산으로 수행되는 건가요?

만약 그렇다면 복사 연산을 거치지 않고 바로 객체를 벡터에 넣을 수 있는 방법은 없을까요?

답변 1

0

Rookiss님의 프로필 이미지
Rookiss
지식공유자

2023. 01. 02. 17:36

포인터 하나와 정수 하나라서 복사해도 전혀 상관 없습니다.
하지만 vector에 복사를 거치지 않고 넣고 싶다면
이동 연산을 지원하는 emplace_back을 사용하시면 됩니다.

frontis님의 프로필 이미지

작성한 질문수

질문하기