728x90
반응형

instruction 3

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

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

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

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

MIPS Architecture & Operation, 구조와 연산 [컴퓨터구조]

MIPS의 구조를 보자 MIPS는 32비트의 레지스터를 가지고 있고 각 레지스터는 0-31 비트가 있다. 레지스터를 더 자세히 보자면 32-bit 레지스터를 레지스터 파일(Register File)이라고 한다. 2개의 read port와 1개의 write port가 있다. 1 clock에 2개를 읽고 1개를 쓸 수 있다는 것이다. 저기 그림과 같이 src1 data 와 src2 data를 동시에 읽을 수 있다. 32개의 레지스터 중에서 2개를 읽을 수 있으니까 32-bit짜리 데이터 2개를 읽을 수 있다. (읽을 레지스터는 src1 addr, src2 addr을 통해서 주소를 입력받아서 읽게 되어있다.) (주소는 5-bit) write는 쓰기 위한 데이터 (32-bit) 어떠한 주소에 쓰냐면 dst ad..

728x90
반응형