C++ (18) 썸네일형 리스트형 [C++] 참조자(Reference)와 함수 참조자와 함수이전 글에서 단순히 변수에 별칭을 붙여주는 것으로 예를 들었는데, 참조자는 보통 함수에서 사용할 때 큰 장점을 보인다. 값을 변경하는 Swap 함수를 Call-by-value의 형태로 정의하면 아래와 같다.#include using namespace std; void Swap(int val1, int val2) { int temp = val1; val1 = val2; val2 = temp; } int main() { int val1 = 5; int val2 = 10; Swap(val1, val2); cout [C++] 참조자(Reference) 참조자(Reference)란?변수에 또 하나의 다른 이름(별칭)을 붙이는 것이다. int num1 = 2019; int &num2 = num1;이렇게 선언하게 되면, num1의 메모리 공간에 num2라는 이름이 하나 더 붙게 된다.여기서 num2는 선언되고 나면 변수 num1과 다를 바 없이 같은 기능을 한다.하지만 이미 선언된 변수를 대상으로 만들어진 것이므로 변수가 아닌 참조자라고 정의한다. 연산자 &연산자 &는 변수의 주소 값을 반환하는 연산자이다.하지만 위의 예제와 같이 새로 선언하는 변수(num2) 앞에 붙게 되면 참조자의 선언을 뜻한다. 참조자 선언참조자는 기존 변수에 별칭을 만들어 주는 것이라고 했다.따라서 아래와 같이 참조자를 선언하는 것은 불가능하다. (X)int &ref = 20;int.. [C++] 기본 자료형 C++ 기본 자료형참고 : https://docs.microsoft.com/en-us/cpp/cpp/data-type-ranges?view=vs-2017 구분 형식 크기 최솟값 최댓값 기본 void - - - 문자 char 1byte -128 127 unsigned char 1byte 0 255 wchar_t 2byte 0 65,535 정수 bool 1byte - 0 (false) / 1 (true) short 2byte -32,768 32,767 unsigned short 2byte 0 65,535 int 4byte -2,147,483,648 2,147,483,647 unsigned int 4byte 0 4,294,967,295 long4byte -2,147,483,648 2,147,483,647 un.. [C++] 인라인(inline) 함수 인라인(inline) 함수란? 프로그램 코드라인 안으로 들어가 버린 함수를 의미한다. 매크로 함수의 장점을 유지하되, 단점을 제거한 함수이다. 매크로 함수란? 매크로 함수에 대해 먼저 살펴보면, 매크로 함수는 전처리 과정에 함수의 몸체부분이 함수의 호출문을 텍스트로 완전히 대체한다. (아래 예제에서 POW(a)부분이 ((a)*(a))로 대체된다.) 따라서 매크로 함수는 일반 함수에 비해 실행속도가 훨씬 빠르지만, 복잡한 함수를 정의하는 데에는 한계가 있다. #include #define POW(x) ((x)*(x)) using namespace std; int main() { int a; cin >> a; cout a; cout a; cout [C++] 매개변수 디폴트 값 C++에서는 매개변수에 디폴트 값을 설정할 수 있다. #include using namespace std; void Func(int a = 0) { cout [C++] 함수 오버로딩 함수 오버로딩이란?함수 호출 시 전달되는 매개변수의 유형이나 갯수는 다르지만, 같은 이름을 공유하는 함수들의 정의를 말한다.C언어에서는 함수의 이름만 이용하여 찾기 때문에 동일한 이름의 함수가 정의되는 것을 허용하지 않지만, C++에서는 이를 허용하고 있다. 함수 명칭이 동일할 때 함수를 구분하는 기준은 매개변수의 형태와 개수이다. #include using namespace std; void print(char a) { cout [C++] 입력 C++에서 입력을 받을 때에는 std::cin와 연산자 >>를 사용한다. #include using namespace std; int main() { int num1; cout > num1; cout 연산자를 이용하여 여러개의 데이터를 입력받을 수 있다. 두 데이터 사이의 경계는 탭, 스페이스 바, Enter 키의 입력으로 구분이 가능하다. #include using namespace std; int main() { int num1, num2; cout > num1 >> num2; cout [C++] namespace namespace(이름공간) 이란? 이름 공간은 특정 영역에 이름을 붙여주는 문법적 요소이다. 따라서 같은 명칭을 가진 함수여도, 서로 다른 namespace에 존재하면 이름이 충돌되지 않는다. * namespace 사용 이유 참고 : https://bourne.tistory.com/18 C++을 공부하게 되면 제일 처음 보게 되는 namespace가 있다. "Hello World!" 를 출력했을 때 사용하는 'std'가 바로 namespace 명칭이다. #include int main() { std::cout 이전 1 2 3 다음 목록 더보기