반응형
이동
-
왜 c에는 이동 연산자가 없는가.뜯고 또 뜯어보는 컴퓨터/씨쁠쁠 C++ 2022. 11. 3. 01:23
이동 의미론(move semantic)을 사용하다가 문득 든 생각은 왜 C에는 이동연산자가 없을까? 하는 질문이 생각났습니다. 나름대로의 해답을 도출했는데, stackOverflow에서도 비슷한 질문을 한 경우가 있어, 첨언하여 답변해보겠습니다. 우선 C++에서 "move semantic"은 임시 객체에 대해서 효율적인 이동이 가능하도록 하는 오버로딩 방법중 하나입니다. - 이를 생각해보지 못했는데, 이동 연산자 또한 함수 오버로딩의 일종이었습니다. 그렇다면 우선적으로 c 에서는 함수의 오버로딩이 허용되지 않기 때문에 쉽사리 답을 내릴 수 있습니다. C 에서는 함수 오버로딩이 불가능하기 때문에, 만약 데이터 이동 함수를 작성하려면, Copy_Struct 처럼 앞에 Copy라고 명시적으로 이 함수가 Str..