C++

    2. namespace와 std;

    2. namespace와 std;

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

    1. C++ 프로그램의 기본 요소와 화면 출력

    1. C++ 프로그램의 기본 요소와 화면 출력

    주석문 주석문 (comment) 프로그램의 실행에 영향을 미치지 않으며 개발자가 프로그램에 대한 설명이나 자유롭게 붙인 특이 사항의 메모 주석문을 만드는 2가지 방법 '/* 와 */' '//' main() 함수 C언어와 마찬기지로 main()함수는 C++ 프로그램의 실행 시작점 main() 함수의 표준 형식 1 . 리턴 타입 int int main() { ...... return 0; } => C++ 표준에서 정한 main() 함수의 리턴 타입은 int이다 2. 리턴 타입 : void void main() { ...... } => void를 리턴 타입으로 선언할 때도 있지만 C++ 표준은 아니다 int main() 함수에서 return 문 생략 가능 int main() 함수는 정수를 리턴하는 return..

    5. C++ 표준 라이브러리

    5. C++ 표준 라이브러리

    C++ 표준 라이브러리 (STL) 개발자들이 불러 쓸 수 있는 다양한 종류의 함수와 클래스가 컴파일된 목적 파일들 (object file) C 라이브러리 (붉은색 글자) 기존 C 표준 라이브러리를 수용하여 C++에서 사용할 수 있게 한 함수들로서 c로 시작하는 헤더 파일에 선언됨 C++ 입출력 라이브러리 (초록색 글자) 콘솔 및 입출력을 위한 함수와 클래스들로서, 제네릭 프로그래밍을 지원하기 위해 템플릿으로 작성 C++ STL 라이브러리 (검정색 글자) 제네릭 프로그래밍을 지원하기 위해 템플릿으로 작성된 유용한 함수와 클래스를 포함하는 라이브러리

    4. C++ 프로그램 개발 과정

    4. C++ 프로그램 개발 과정

    C++ 소스 프로그램 작성 C++ 소스 프로그램 작성, 컴파일, 링킹을 통해 하나의 실행 파일을 만드는 과정으로 세분화 컴파일 (compile) C++ 소스 프로그램 작성이 완료되었으면, C++ 컴파일러를 이용하여 C++ 소스 프로그램을 컴파일 컴파일러 => C++ 소스 프로그램이 문법에 맞게 작성되었는지 검사하고, 기계어 코드로 변환하여 목적 파일 (object file)을 생성 링킹 어떤 목적 파일이 참조하는 C++ 표준 라이브러리나 다른 목적 파일 속에 있는 함수, 객체, 데이터를 포함하여 실행에 필요한 모든 기계어 코드를 확보하여, 하나의 실행 파일로 만드는 과정 => hello.obj와 표준 C++ 라이브러리로부터 cout 객체와

    3. C++ 언어의 특징

    3. C++ 언어의 특징

    C++ 언어의 주요한 설계 목표 1. C언어로 작성된 프로그램과의 호환성 => 기존에 작성된 C 프로그램을 그대로 사용할 수 있도록 C언어의 문법적 체계를 그대로 계승 2. 객체 지향 개념을 도입 - 소프트웨어 재사용 = 생산성 up - 데이터 캡슐화 = 복잡하고 큰 규모의 소프트웨어의 작성, 관리, 유지 보수를 쉽게 하기 위함 - 상속 - 다형성 3. 타입 체크 엄격 => 실행 시간 오류의 가능성을 줄이고 디버깅을 돕는다 4. 효율성 저하 최소화 => 멤버 함수의 호출이 잦아지고 이로 인해 실행 시간이 저하되는 비효율성을 막기 위해 멤버 함수에 인라인 함수를 도입하는 등 함수 호출로 인한 시간 저하를 막는다 C언어에 추가한 기능 *C++ 언어는 C 언어의 문법적 규칙을 그대로 승계하며, 프로그래밍의 편..

    4. 참조자(Reference)와 함수

    4. 참조자(Reference)와 함수

    Call-by-value & Call-by-reference Call-by-value : 값을 인자로 전달하는 함수의 호출방식 Call-by-reference : 주소 값을 인자로 전달하는 함수의 호출방식 #include using namespace std; void SwapByValue(int num1, int num2) { int temp = num1; num1 = num2; num2 = temp; } // Call-by-value int main(void) { int val1 = 10; int val2 = 20; SwapByValue(val1, val2); // val1과 val2에 저장된 값이 바뀌기를 기대함 cout

    3. 참조자 &(Reference)의 이해

    3. 참조자 &(Reference)의 이해

    참조자의 이해 변수는 할당된 메모리 공간에 붙여진 이름이다 그리고 그 이름을 통해서 해당 메모리 공간에 접근이 가능하다. 할당된 하나의 메모리 공간에 둘 이상의 이름을 부여할 수는 없을까? ==> 참조자의 이해로 이어진다 int num1 = 2010; ==> 2010으로 초기화된 메모리 공간에 num1이라는 이름이 붙게 된다 int* ptr = &num1; // 변수 num1의 주소 값을 반환해서 포인터 ptr에 저장해라! int& num2 = num1; // 변수 num1에 대한 참조자 num2를 선언해라! & 연산자는 C언어 포인터에서 배웠듯이 변수의 주소 값으로 반환하는 연산자였지만 참조자에서는 의미가 또 다르다 이미 선언된 변수의 앞에 이 연산자가 오면 주소 값의 반환을 명령하는 뜻이 되지만, 새..

    2. 새로운 자료형 bool

    2. 새로운 자료형 bool

    '참' 을 의미하는 true와 '거짓'을 의미하는 false #define TRUE 1 #define FALSE 0 #include using namespace std; int main(void) { int num = 10; int i = 0; cout