본문 바로가기

개인공부/C++ 기초플러스32

C++ Primer 09 Exercise 01 // golf.h const int Len = 40; struct golf { char fullname[Len]; int handicap; }; void setgolf(golf & g, const char * name, int hc); int setgolf(golf & g); void handicap(golf & g, int hc); void showgolf(const golf & g); // golf.cpp #include #include #include #include "golf.h" void setgolf(golf & g, const char * name, int hc) { strcpy(g.fullname, name); g.handicap = hc; } int setgolf(golf & g) .. 2023. 2. 19.
C++ Primer 09 학습목표 분할 컴파일 기억 존속 시간, 사용 범위, 링크 위치 지정 new 이름 공간 9.1 분할 컴파일 C++은 프로그램을 구성하는 함수들을 별개에 파일에 넣는 것을 권장함 파일들을 분할하여 컴파일한 후 하나의 최종 실행 프로그램으로 링크할 수 있는데, 이 때 어떤 하나의 파일을 수정할 경우 해당 파일만을 다시 컴파일하여 이미 컴파일되어있는 다른 파일들과 링크하는 방식으로 관리함 규모가 큰 프로그램을 쉽게 관리할 수 있음 Unix와 Linux에서는 make라는 프로그램이 해당 기능을 제공함 대부분의 통합개발 환경들도 Project 메뉴를 통해 비슷한 기능을 제공함 여러 파일에 동일한 데이터가 들어갈 경우, 수정의 편리함 및 오류 방지를 위해 해당 데이터들을 헤더 파일에 넣고 #include로 각각의 소.. 2023. 2. 19.
C++ Primer 08 Exercise 01 #include void show(const char * str, int i = 0); int main() { using namespace std; show("abc"); show("abc"); show("abc"); show("abc"); show("abcde", 1); return 0; } void show(const char * str, int num) { static int count = 0; count++; if (num == 0) std::cout 2023. 2. 19.
C++ Primer 08 학습목표 인라인 함수 참조 변수 함수 매개변수를 참조로 전달 디폴트 매개변수 함수 오버로딩 함수 템플릿 함수 템플릿의 특수화 8.1 C++ 인라인(inline) 함수 인라인 함수는 프로그램의 실행 속도를 높이기 위해 C++에 새로 보강된 함수임 일반적인 함수 호출시 해당 함수의 주소로 점프한 후 함수 처리가 종결되면 다시 원래의 자리로 돌아옴 인라인 함수는 컴파일된 함수 코드가 프로그램의 다른 코드 안에 직접 삽입됨 즉, 함수 호출을 그에 대응하는 함수 코드로 대체하여 그 자리에서 처리함 그렇기 때문에 시간적인 측면에서는 유리하나 메모리 사용 측면에서는 불리함 함수 코드를 수행하는데 걸리는 시간이 매우 짧고, 빈번하게 호출되는 함수일 경우에 인라인 함수를 사용하는 것이 유리함 // inline.cpp #.. 2023. 2. 19.