C++ 기초 플러스
[C++ Primer Plus] 9. Memory Models and Namespaces
Seperate Compilation 1챕터에서 말했듯, C++는 각 파일마다 컴파일을 따로(.c → .o)할 수 있다. 이런 방식덕분에 소스코드 하나를 수정하면 그거만 컴파일하고 링킹을 해서 실행파일을 만들 수 있다. Unix나 Linux의 make가 이런 관리를 도와준다. 한 소스 코드의 내용을 나눠야 한다고 생각해보자. 예를 들어, 클래스 구현부와 main()을 나누는 것이다. 이런 상황에서는 main에서 클래스 구현부를 알 필요가 있다. 이런 상황을 해결해주는 것이 #include 기능이다. 즉, 총 3개의 파일로 나눠질 것이다. 클래스의 정의와 메소드의 프로토타입을 담은 .hpp 파일 클래스 구현 코드를 담은 .cpp 파일 클래스 메소드를 사용하는 .cpp 파일 헤더 파일에는 주로 다음의 내용을..
[C++ Primer Plus] 3. Dealing with Data
대답해야 할 질문들 ASCII, Unicode, UTF가 어떤 개념인지, 어떤 차이가 있는지 설명하세요. Simple Variables int braincount; braincount = 5; 이 두 줄의 코드는 구체적으로 다음과 같이 작동한다. int형 데이터를 담을 수 있을 만큼의 데이터를 할당한다. 할당된 데이터 위치를 기록한다. 5라는 값을 해당 위치에 복사한다. Integer Types 일부 언어는 정수형 데이터로 int 하나만을 지원하지만 C++은 여러 개로 구분한다. 그 구분에 따라 메모리 사이즈가 다르다. 즉, 담을 수 있는 값의 범위가 다르다. short, int, long, long long으로 구분한다. 차이는 다음과 같다. 2bytes