본문 바로가기

C++22

C++ 범위 유효 범위(scope) 유효 범위(scope)란 하나의 변환 단위(translation unit) 내에서 해당 변수가 사용될 수 있는 범위를 나타냅니다. 함수 내에서 선언된 변수는 함수 내에서만 사용할 수 있습니다. 또한, 함수 밖에서 선언된 변수는 변수가 선언된 이후에 나오는 모든 함수에서 사용할 수 있습니다. C++ 표준에서는 파일(file)이라는 용어 대신에 변환 단위(translation unit)라는 용어를 사용하고 있습니다. 연결(linkage) 연결(linkage)이란 해당 변수를 사용할 수 있는 파일의 접근 가능 여부를 나타냅니다. 외부 연결(external linkage)을 가지는 변수는 여러 파일에서 사용할 수 있습니다. 하지만 내부 연결(internal linkage)을 가지는 변수는.. 2020. 7. 5.
C++ 함수 참조자(reference) C++에서는 특정 변수의 실제 이름 대신 사용할 수 있는 참조자(reference)라는 새로운 기능이 추가되었습니다. 이러한 참조자는 크기가 큰 구조체와 같은 데이터를 함수의 인수로 전달해야 할 경우에 사용할 수 있습니다. 또한, C++의 클래스(class)를 설계할 때에도 자주 사용됩니다. 참조자의 선언 C++에서 참조자는 다음과 같은 문법으로 선언합니다. 문법 int 변수이름; // 변수의 선언 int& 참조자이름 = 변수이름; // 참조자 선언 이때 & 연산자는 주소 연산자가 아닌 타입을 식별하기 위해 사용하는 식별자로 사용된 것입니다. 즉, int&는 int형 변수에 대한 참조를 의미합니다. 이렇게 선언된 참조자는 대상 변수와 같은 메모리 위치를 참조하게 됩니다. 참조자.. 2020. 7. 5.
C++ 함수기본 함수란? 함수(function)란 하나의 특별한 목적의 작업을 수행하기 위해 독립적으로 설계된 코드의 집합으로 정의할 수 있습니다. C++ 프로그램에서 함수는 특정 작업을 캡슐화하는 데 유용하게 사용됩니다. 함수를 사용하는 이유 함수를 사용하는 가장 큰 이유는 바로 반복적인 프로그래밍을 피할 수 있기 때문입니다. 프로그램에서 특정 작업을 여러 번 반복해야 할 때는 해당 작업을 수행하는 함수를 작성하면 됩니다. 그리고서 프로그램이 필요할 때마다 작성한 함수를 호출하면 해당 작업을 반복해서 수행할 수 있습니다. 또한, 프로그램을 여러 개의 함수로 나누어 작성하면, 모듈화로 인해 전체적인 코드의 가독성이 좋아집니다. 그리고 프로그램에 문제가 발생하거나 기능의 변경이 필요할 때에도 손쉽게 유지보수를 할 수 있습.. 2020. 7. 5.
C++ 구조체 공용체(union) 공용체(union)는 union 키워드를 사용하여 선언하며, 모든 면에서 구조체와 같습니다. 하지만 모든 멤버 변수가 하나의 메모리 공간을 공유한다는 점만이 다릅니다. 모든 멤버 변수가 같은 메모리를 공유하기 때문에 공용체는 한 번에 하나의 멤버 변수밖에 사용할 수 없습니다. 공용체는 순서가 규칙적이지 않고, 미리 알 수 없는 다양한 타입의 데이터를 저장할 수 있도록 설계된 타입입니다. 이러한 공용체는 크기가 가장 큰 멤버 변수의 크기로 메모리를 할당받습니다. 따라서 공용체 배열을 사용하면, 같은 크기로 구성된 배열 요소에 다양한 크기의 데이터를 저장할 수 있습니다. 다음 예제는 공용체의 한 멤버 변수만을 초기화하면, 나머지 멤버 변수들도 모두 같은 데이터를 공유한다는 것을 보여줍니다.. 2020. 7. 5.
C++ 문자열 C++ 문자열 문자열(string)이란 메모리에 저장된 일련의 연속된 문자(character)들의 집합을 의미합니다. C++에서는 이러한 문자열을 다음과 같은 두 가지 방법으로 생성할 수 있습니다. 1. C언어 스타일의 문자열 2. string 클래스를 이용한 문자열 C언어 스타일의 문자열 C++에서는 큰따옴표("")를 사용해 표현되는 문자열을 문자열 상수(string constant)라고 합니다. 상수라고 표현하는 이유는 해당 문자열이 이름을 가지고 있지 않으며, 문자열의 내용 또한 변경할 수 없기 때문입니다. C++에서 문자형 배열을 선언하면 이 배열이 곧 문자열 변수가 됩니다. C++에서는 문자열의 길이에 제한을 두지 않습니다. 널(NULL) 문자 C++에서 문자형 배열로 선언된 문자열 변수는 문자.. 2020. 7. 5.
C++ 배열 & 포인터 배열(array)이란? 배열(array)은 같은 타입의 변수들로 이루어진 유한 집합으로 정의할 수 있습니다. 배열을 구성하는 각각의 값을 배열 요소(element)라고 하며, 배열에서의 위치를 가리키는 숫자를 인덱스(index)라고 합니다. C++에서 인덱스는 언제나 0부터 시작하며, 0을 포함한 양의 정수만을 가질 수 있습니다. 배열은 같은 종류의 데이터를 많이 다뤄야 하는 경우에 사용할 수 있는 가장 기본적인 자료 구조입니다. 배열은 선언되는 형식에 따라 1차원 배열, 2차원 배열뿐만 아니라 그 이상의 다차원 배열로도 선언할 수 있습니다. 하지만 현실적으로 이해하기가 쉬운 2차원 배열까지가 많이 사용됩니다. 1차원 배열 1차원 배열은 가장 기본적인 배열로 다음과 같은 문법에 따라 선언합니다. 문법 타.. 2020. 7. 5.