목록2024/01/16 (2)
개발하는 리프터 꽃게맨입니다.
[ 목차 ] 1. 왼값 vs 오른값 왼값(l-value), 오른값(r-value)에 대해 알고 계신가요? 아마 처음 들어보실 수도 있는데, 이렇게 생각하시면 편합니다. 왼값: 데이터를 저장할 수 있는 값, 지속되는 값 오른값: 일시적인 값, 임시적인 값 아직 잘 모르겠죠? 식이 있을 때 좌항을 왼값, 우항을 오른값이라고 이해하시면 기본적인 이해는 가능합니다. (왼값에 왼값을 넣을 수도 있어서 맞는 설명은 아닙니다.) 오른값에 특정한 값을 집어넣는 것은 불가능합니다. 10 = num; 과 같은 코드가 상식적으로 이해되지는 않죠. 일단 오른값에 대한 기본 개념은 이 정도로 이해하시고 넘어가시면 되겠습니다. 왼값: 주소를 가지는 변수, 값을 저장할 수 있는 변수, 지속되는 값 오른값: 상수나 일시적인 값들, ..
함수 포인터 혹시 함수를 cout이나 printf에 넣어본 적 있나요? 매개변수를 집어넣지 않은 순수한 함수 그 자체를 출력하면 매우 이상한 값이 출력됩니다. 이 숫자가 뜻하는 바가 무엇인지 아시겠나요?/ 이는 함수가 존재하는 '주소'를 뜻하는 겁니다. 함수 역시 다른 데이터들과 마찬가지로 메모리에 저장되죠. 이 메모리 스택 중에 함수는 '코드 영역'에 저장되어 메모리상에 존재합니다. 출력된 내용은 코드 영역에 함수가 저장된 주소라고 할 수 있는 것이죠. 그러면, 함수의 주소를 가지고 여러 가지 장난을 칠 수도 있을까요? 물론 가능합니다. 이것을 가능하게 해주는 것이 함수 포인터입니다. 함수 포인터를 어떻게 선언하는지, 함수를 가리키기 위해서는 어떻게 해야 하는지 알아봅시다. 저도 여전히 조금 헷갈리는 ..