C++ 이야기 (열혈)/C언어 기반의 C++

    5. 이름공간(namespace)에 대한 소개

    5. 이름공간(namespace)에 대한 소개

    이름공간(namespace) 이름을 붙여놓은 공간 (말 그대로 특정 영역에 이름을 붙여주기 위한 문법적 요소이다) 이름공간의 기본원리 한 집에 철수라는 이름의 사람이 두 명 산다면, 상황에 따라서 문제가 될 수 있다. 그냥 '철수야!'라고 부르면, 어떤 철수를 부르는지 알 수 없기 때문이다. 그러나 서로 살고 있는 집이 다르다면 문제 될 것이 없다. '201호에 사는 철수'와 '202호에 사는 철수'로 구분되기 때문이다. 즉, 다음과 같이 부르면 철수를 구분할 수 있다. "202호에 사는 철수야!" 이것이 이름공간의 기본 원리이다 #include void SimpleFunc(void) { std::cout

    4. 인라인(inline) 함수

    4. 인라인(inline) 함수

    in (내부) + line (프로그램 코드라인) 함수 ==> 프로그램 코드라인 안으로 들어가버린 함수 매크로 함수 매크로 함수 C언어에서는 #define 선행처리 지시문에 인수로 함수의 정의를 전달함으로써, 함수처럼 동작하는 매크로를 만들 수 있다.이러한 매크로를 함수 같은 매크로(function-like macro) 또는 매크로 함수라고 한다. *자세한 내용은 C언어 이야기의 chapter 19 참고 https://ojh0616.tistory.com/280 전처리 지시자 (1) 전처리 ==> 전처리기가 소스 코드를 컴파일하기 좋게 다듬는 과정이며 소스 코드에서 #으로 시작하는 지시자를 처리한다 다양한 전처리 지시자 파일을 포함하는 #include #include는 지정한 파일의 ojh0616.tisto..

    3. 매개변수의 디폴트 값 (Default Value)

    3. 매개변수의 디폴트 값 (Default Value)

    매개변수에 설정하는 '디폴트 값'의 의미 #include int Adder(int num1 = 1, int num2 = 2) { return num1 + num2; } int main(void) { std::cout

    2. 함수 오버로딩 (Function Overloading)

    2. 함수 오버로딩 (Function Overloading)

    함수 오버로딩 함수호출 시 전달되는 인자를 통해서 호출하고자 하는 함수의 구분이 가능하기 때문에 매개변수의 선언형태가 다르다면, 동일한 이름의 함수정의를 허용할 수 있다 (하지만 C언어에서는 불가능했다) #include int MyFunc(int num) { num++; return num; } int MyFunc(int a, int b) { return a + b; } int main(void) { MyFunc(20); // MyFunc(int num) 함수 호출 MyFunc(30, 40); // MyFunc(int a, int b) 함수 호출 return 0; } *C언어에서의 함수를 찾는 법 '함수의 이름'만 이용해서 호출대상을 찾는다 *C++에서의 함수를 찾는 법 '함수의 이름'과 '매개변수'를 ..

    1. printf와 scanf를 대신하는 입출력 방식

    1. printf와 scanf를 대신하는 입출력 방식

    문자열 "Hello World"의 출력 #include int main(void) { int num = 20; std::cout