C++(23)
-
[C++] 클래스(class) 개념 및 선언 (plus. this 포인터)
이번 포스팅에선 클래스에 대해 알아보겠습니다. 클래스: 특정 객체를 선언하기 위해 변수와 메서드를 묶는 일종의 틀. 즉, 변수 + 메서드의 묶음. 개발 환경 : VSCode, Windows 10 기본 개발 세팅은 다음과 같습니다. #include #include #include using namespace std; int main() { return 0; } 📌 클래스(class) 정의 클래스는 비슷한 성향의 변수와 관련 프로세스를 수행하는 메소드를 정의한 틀입니다. 여러 타입의 데이터와 함수를 저장할 수 있는 구조체의 상위 호환으로 볼 수도 있습니다. 다수의 객체를 생성하는데 쓰이며, 객체 지향 프로그래밍(OOP)에 있어 핵심적인 개념입니다. 당연하게도 OOP의 특성인 (1) 추상화 (2) 캡슐화 (3..
2022.06.30 -
[C++] 네임스페이스(namespace) 개념 및 코드
이번 포스팅에선 네임스페이스에 대해 알아보겠습니다. 네임 스페이스(namespace): 내부 식별자에 사용될 수 있는 유효 범위를 제공하는 선언적 영역 일종의 집단 영역이라고 볼 수 있습니다. 개발 환경 : VSCode, Windows 10 기본 개발 세팅은 다음과 같습니다. #include #include #include using namespace std; int main() { return 0; } 📌 네임스페이스(namespace) 정의 및 선언 네임스페이스는 일종의 영역입니다. "해당 영역에 있는 변수, 함수, 구조체... 등은 네임스페이스를 앞에 명시했을 때만 사용할 수 있어!" 따라서 변수, 함수, 구조체, 클래스 등 네임스페이스에 있는 모든 것들은 네임스페이스로 구분할 수 있습니다. 네임스..
2022.06.28 -
[C++] 자유 변수, 레지스터 변수, 정적 변수 ft. 유효 범위
이번 포스팅에선 유효 범위가 다른 3개의 변수에 대해 알아보겠습니다. 유효 범위(scope): 하나의 변환 단위(file) 내에서 해당 변수가 사용될 수 있는 범위 연결(linkage): 해당 변수를 사용할 수 있는 파일의 접근 가능 여부 * 외부 연결: 여러 변환 단위에서 사용 가능한 것을 말한다. 개발 환경 : VSCode, Windows 10 기본 개발 세팅은 다음과 같습니다. #include #include #include using namespace std; int main() { return 0; } 💥 알고 가야 하는 개념 [개념] 변환 단위란 무엇인가요? [답변] C++에선 한 개의 파일(file)을 말합니다. 📌 C++ 변수의 종류 C++에는 세 종류의 변수가 있습니다. 자동 변수, 레지..
2022.06.27 -
[C++] 인라인(inline)함수 와 매크로(define)함수
이번 포스팅에선 인라인 함수와 매크로 함수에 대해 알아보도록 하겠습니다. 인라인 함수: 모든 코드를 호출된 자리에서 바로 삽입해서 연산을 진행합니다. 매크로 함수: #define 선행처리 지시문에 함수를 정의하여 동작합니다. 개발 환경 : VSCode, Windows 10 기본 개발 세팅은 다음과 같습니다. #include #include #include using namespace std; int main() { return 0; } 📌 인라인 함수 인라인 함수가 필요한 이유가 뭘까요? 그 이유는 함수 호출 과정에 있습니다. 본래 함수 호출은 다음과 같은 과정을 거칩니다. (1) 함수 호출 (2) 스택에 매개변수+반환 주소값 저장 (3) 프로그램 제어가 함수 위치로 날아와 지역 변수 저장 (4) 코드 ..
2022.06.24 -
[C++] 함수 Basic - 참조자, 디폴트 인수, 오버로딩
이번 포스팅에선 함수 참조자, 디폴트 인수, 오버로딩에 대해 알아보도록 하겠습니다. 참조자: &를 말합니다. 대상의 원본을 직접 가져오는 역할을 합니다. 디폴트 인수: 함수의 기본으로 설정된 초기 인수를 말합니다. 오버로딩: 같은 이름의 함수를 중복하여 정의하는 것을 말합니다. 개발 환경 : VSCode, Windows 10 기본 개발 세팅은 다음과 같습니다. #include #include #include using namespace std; int main() { return 0; } 📌 참조자(&) 참조자는 특정 변수의 실제 이름 대신 사용할 수 있습니다. 주로 크기가 큰 구조체와 같은 데이터를 함수의 인수로 전달할 때 사용합니다. (1) 참조자 선언 참조자는 타입을 식별하기 위해 사용하는 식별자 ..
2022.06.24 -
[C++] 함수 Basic - 정의, 인수 전달, 포인터
이번 포스팅에선 함수에 대해 알아보도록 하겠습니다. 함수 : 하나의 목적으로 수행하고, 하나의 결괏값을 내놓는 기능을 합니다. int형끼리 더하고 싶을 때, 문자열을 특정 방법으로 편집할 때 등 특정 목적을 위해 함수를 정의해서 사용합니다. 개발 환경 : VSCode, Windows 10 기본 개발 세팅은 다음과 같습니다. #include #include #include using namespace std; int main() { return 0; } 📌 함수의 정의 및 선언 먼저 간단한 함수를 구현한 코드입니다. #include #include #include using namespace std; int Substract(int, int); int main() { int result; result = ..
2022.06.23