study/C++ 8

C++ 정리

키워드 const의 의미 const int num = 10; // 변수 num을 상수화 const int * ptr1= &val // 포인터 ptr을 이용해서 val1의 값을 변경할 수 없다. int * const ptr2 = &val // 포인터 ptr2를 상수화 const int * const ptr3 = &val3 // 포인터 ptr3가 상수화 되었으며, ptr3을 이용해서 val3의 값을 변경 불가 const 함수 int GetX() const; // " 이 함수 내에서는 멤버 변수에 저장된 값을 변경하지 않겠다" int GetY() const; // " const 함수 내에서는 const가 아닌 함수의 호출을 제한한다" C언어에서는 없지만 C++에서는 있는 새로운 자료형 bool bool isT..

study/C++ 2020.10.22

예외처리 (try catch)

예외처리란? 예외 상황 : 예외(Exception)는 언어상의 문법적인 오류가 아니라 내가 의도한, 구현한 프로그램의 논리의 맞지 않는 상황을 말합니다. ex) 나눗셈을 할 때 나누는 수가 0으로 입력되는 경우를 "예외 상황"이라 하고, 이에 대해 다시 입력을 받거나 프로그램을 종료하는 방법을 정의해주는 것을 "예외 처리"라고 할 수 있습니다. C++에서 예외 처리를 위해 제공하는 메커니즘은 try, throw, catch로 구성되어 있습니다. try - try내부에서 예외가 있는지 탐색을 하는 부분 throw - try에서 예외를 탐색하면 throw의 인자로 준 변수를 catch로 던집니다. catch - throw에서 던진 변수를 인자로 받아서 catch 내부에 프로그래머가 정의한 예외처리가 실시합니..

study/C++ 2020.06.30

참조자(Reference)

참조자(Referenfce) 이해 "변수는 할당된 메모리 공간에 붙여진 이름이다. 그리고 그 이름을 통해서 해당 메모리 공간에 접근이 가능하다" "참조자는 할당된 하나의 메모리 공간에 또 다른 이름을 붙이는 것이다." int &num2=num1; 위의 문장을 실행하면, num1이라는 이름이 붙어있는 메모리 공간에는 num2라는 이름이 하나 더 붙게 된다. int *ptr=&num1; //변수 num1의 주소 값을 반환해서 포인터 ptr에 저장 int &num2=num1 //변수 num1에 대한 참조자 num2를 선언 Reference.cpp #include using namespace std; int main(void) { int num1=1020; int &num2=num1; num2=3047; cout

study/C++ 2020.05.19

자료형 bool

C언어 복습 키워드 const 의미 - const int num= 10; --> 변수 num을 상수화! - const int * ptr1 = &val1; --> 포인터 ptr1을 이용해서 val1의 값을 변경할 수 없음 - int * const ptr2 = &val2; --> 포인터 ptr2가 상수화 됨 - const int * const ptr3 = &val3; --> 포인터 ptr3가 상수화 되었으며, ptr3를 이용해서 val3의 값을 변경할 수 없음 실행 중인 프로그램의 메모리 공간 - 데이터 : 전역 변수가 저장되는 영역 - 스택 : 지역변수 및 매개변수가 저장되는 영역 - 힙 : malloc 함수 호출에 의해 프로그램이 실행되는 과정에서 동적으로 할당이 이뤄지는 영역 - malloc&free ..

study/C++ 2020.05.19

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

C++의 함수에는 '디폴트 값'을 설정할 수 있다. 매개변수에 설정하는 '디폴트 값' int MyFuncOne(int num=7) { return num+1; } int MyFuncTwo(int num1=5, int num2=7) { return num1+num2; } "매개변수의 디폴트 값은 함수 호출 시 인자를 전달하지 않으면 7이 전달된 것으로 간주하는 것" MyFuncOne(); //7이 전달된 것으로 간주! MyFuncTwo(7); MyFuncTwo(); //5와 7이 전달된 것으로 간주! MyFuncTwo(5, 7); DefaultValue1.cpp #include using namespace std; int Adder(int num1=1, int num2=2) { return num1+num..

study/C++ 2020.05.19

함수 오버로딩(Function Overloading)

//C언어 함수 오버로딩의 이해 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; } "함수 호출 시 전달되는 인자를 통해서 호출하고자 하는 함수의 구분이 가능하기 때문에 매개변수의 선언 형태가 다르다면, 동일한 이름의 함수 정의를 할 수 있는 것이 함수 오버 로딩이라고 한다" MyFunc(30, 40); //함수 호출 문 "두 개의 int형 정수를 인자로 전달 받을 수 있는 MyFunc라는 함수를 찾는다" "매개..

study/C++ 2020.05.19