C++/C++ 문법 (29) 썸네일형 리스트형 [C++] 이름공간 (namespace) namespace 이름공간이란 코드에 이름을 붙여주기 위한 장치라고 생각하면 좋다. 예를 들어 두 개의 팀이 협업을 할 때 서로의 팀에서 변수나 함수명이 겹치는 것을 방지하기 위해서 사용할 수 있다. 예를 들어 팀 A와 팀 B의 코드를 구분하기 위해 두 개의 네임스페이스를 코드로 작성해보겠다. namespace TeamA { int a; int b; int sum(int a, int b) { return a + b; } } namespace TeamB { int a; int b; int c; int sum(int a, int b, int c) { return a + b + c; } } 위와 같이 네임스페이스를 선언하면 같은 변수라도 구분해서 사용하는 것이 가능하다. 네임스페이스로 구분한 변수나 함수를 사.. [C++] 디폴트 매개변수 (Default Value, Default Parameter) 디폴트 매개변수 디폴트 매개변수란 매개변수에 기본적으로 설정되어 있는 값을 의미한다. 즉, 함수의 호출 시 Argument 가 전달되지 않았을 때 매개변수에 저장될 값을 미리 선언하는 것이다. 코드로 보면 좀 더 이해가 빠를 수 있을 것이다. #include int func(int a = 10) { return a+5; } int main() { std::cout [C++] 함수 오버로딩 함수 오버로딩 C언어에서는 이름이 동일한 함수의 선언을 허용하지 않는다. 그러나 C++에서는 함수의 이름이 같더라도 선언된 매개변수의 자료형이 다르면 함수의 선언을 허용하고 있다. C++에서는 함수를 호출할 때 함수의 이름과 매개변수의 선언을 모두 확인하기 때문이다. 따라서 아래 코드와 같은 함수의 선언이 가능하다. #include int func(int a) { return a; } int func(int a, int b) { return a + b; } int func(int a, int b, int c) { return a + b + c; } int main() { std::cout [C++] 지역변수 선언에 있어서 C언어와의 차이 지역변수 선언 C언어에서 일부 컴파일러는 함수를 정의할 때 지역변수의 선언이 항상 제일 먼저 등장해야만 한다. 그러나 C++ 은 모든 컴파일러에서 지역변수의 선언에 있어서 위치 제한을 두지 않는다. 따라서 아래와 같은 코드도 모든 컴파일러에서 유효하게 동작한다. #include int main() { int num1; std::cout > num1; int num2; std::cout > num2; int sum = num1 + num2; std::cout [C++] 입출력 방식 (std::cout, std::cin) iostream C언어에서는 입출력 함수인 prinft와 scanf를 사용하기 위해서 stdio.h 헤더파일을 사용한다. C++에서도 마찬가지로 입출력을 위해 헤더파일 선언을 해야한다. 이 때 사용하는 헤더파일이 iostream.h 이다. 출력 방식 C++ 에서는 std::cout 와 이전 1 2 3 4 다음