728x90
반응형

내부구조 2

C++문법/ 참조 변수, reference + 참조의 특성

C++에서는 참조 변수라는 새로운 복합 타입을 언어에 추가했다. 여기서 참조는 미리 정의된 어떤 변수의 실제 이름 대신 쓸 수 있는 대용 이름을 말한다. 예를 들어 ace 를 trees 변수의 참조로 만들면 ace와 trees는 같은 변수를 나타내는 것으로 사용할 수 있다. 그런데 생각해보면 굳이 다른 이름을 만들어야 하는가? 라는 의문이 든다. 참조를 하는 주된 이유는 바로 함수의 형식 매개변수에 사용하기 위함이다. -> 해당 변수의 주소를 직접 가리키는 다른 이름의 변수 == 참조 변수 참조를 매개변수로 사용하면 그 함수는 복사본이 아니라 원본 데이터를 가지고 작업한다. 이는 복사본을 만들기 위한 오버헤드가 사라지는 효과도 있다. 그래서 참조는 클래스를 설계할 때 필수적으로 사용된다. 우선 참조가 어..

C++문법/ 인라인 함수, inline

인라인 함수는 프로그램의 실행 속도를 높이기 위해 C++에 새로 보강된 것이다. (C에서는 매크로 기능을 위해 #define을 쓰고는 했다.) 일반 함수와 인라인 함수의 가장 큰 차이는 프로그래머가 코드를 어떻게 작성하느냐에 있는 것이 아니다. C++ 컴파일러가 코드를 프로그램에 어떻게 결합하느냐에 있다. ++ 인라인 함수와 일반 함수의 차이를 이해하려면 프로그램의 내부 구조를 깊이 있게 살펴볼 필요가 있다. (컴퓨터 구조 수업을 들으면 쉽다) 컴파일 작업의 최종 산출물은 기계어 명령으로 이루어진 실행 프로그램이다. (High-level -> Assembly -> Machinary) 프로그램을 실행하면, 운영체제는 이 명령들을 컴퓨터의 메모리에 로드한다. 로드된 명령들은 각각 하나의 특정 메모리 주소를 ..

728x90
반응형