개발공부/C++ (19) 썸네일형 리스트형 자료형에게 가명 붙여주기 #include #include #include int main() { using namespace std; std::vectorpairlist; return 0; } 위 코드는 아래와 같이 쓸 수 있다. int main() { using namespace std; //typedef vectorpairlist_t;//또는 using pairlist_t = vector;//이렇게 쓸 수 있다. pairlist_t pairlist1; pairlist_t pairlist2; return 0; } 주의할 점은 '=' 기호를 사용하기 때문에 assignment라고 생각할 수 있는데 문법이 그런거라서 전혀 다르다. 전역변수와 정적변수 #include using namespace std; int value = 123; int main() { cout 전처리기의 활용 #include #include using namespace std; #defing LIKE_APPLE int main() { #ifdef LIKE_APPLE//정의가 되어있으면! cout C++의 기초적인 사용법 식별자(identifier) : 결국 메모리 주소를 사람이 보기 위한 이름으로 바꾸어 놓은 것뿐이다. 지역범위(local scope) : int main() { int x = 0; { int x = 1; } { int x = 2; } return 0; } 지역변수는 영역을 벗어나면 사용할 수 없게 된다. 지역변수가 차지하고 있던 메모리는 그 지역 변수가 영역을 벗어날때 '스택'메모리로 반납된다. 반납된 메모리는 다음 지역 변수가 사용할 수 있도록 대기한다. 헤더파일(example.h) : .cpp에 함수를 적어놓으면 선언(declaration)이 필요하지만 .h로 적어놓으면 따로 선언이 필요하지 않다. //#include "경로" assignment와 initialization #include int main() { int x = 123; //initialization x = 4; // assignment std::cout 포인터 복습 /* 상수 포인터? */ #include int main() { int a; int b; const int* pa = &a; //const int *pa도 같은 선언이다. *pa = 3; // 올바르지 않은 문장 pa = &b; // 올바른 문장 return 0; } 참고로 int* p랑 int *p랑 같다. 그리고 상수지시포인터(pointer to constant)라고 한다. 상수를 가리키는 포인터라는 뜻으로 포인터 자체는 상수가 아니다. pa를 통해 다른 주소값을 가지는 것은 가능하지만 *pa를 통해 값을 변경하는 것은 불가하다. /* 상수 포인터? */ #include int main() { int a; int b; int* const pa = &a; //int *const pa도 같은 선언이다. .. 상수에 대한 참조자 #include int main() { int &ref = 4; std::cout 래퍼런스의 도입 #include int change_val(int *p) { *p = 3; return 0; } int main() { int number = 5; std::cout 이전 1 2 3 다음