♣ C++(21)
-
[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 좀 쉽고 간편하게 표기하는 방법은 없을까요? typedef 키워드와 auto 키워드를 활용해봅시다. 개발 환경 : VSCode, Windows 10 기본 개발 세팅은 다음과 같습니다. #include #include #include using namespace std; int main() { return 0; } 📌 typedef 키워드 함수 원형 선언하는 구간에서 함수 포인터를 선언하는 방식입니다. typedef 타입(*포인터 이름)(인수 타입); typedef double(*calculator)(double, double); 이렇게 될 경우, Calculator 함수 원형은 함수 포인터만 인수로 받아도 상관없습니다. ty..
2022.06.23 -
[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 -
[C++] 구조체(structure type) 개념 및 활용
이번 포스팅에선 구조체에 대해 알아보도록 하겠습니다. 구조체 : 사용자 정의 타입 다양한 타입의 변수 집합을 하나의 타입으로 나타내는 것이 구조체입니다. 예를 들어, 책 제목/ 저자/ 가격의 집합을 하나의 book 타입으로 정의하는 것이 구조체입니다. 개발 환경 : VSCode, Windows 10 기본 개발 세팅은 다음과 같습니다. #include #include #include using namespace std; int main() { return 0; } 📌 구조체 선언하기 구조체는 main 함수 밖에서 선언합니다. 이번 포스팅에선 Book이란 이름으로 선언하도록 하겠습니다. struct 구조체이름 {}; Book 구조체 선언 struct Book { char title[30]; char auth..
2022.06.17 -
[C++] string 클래스와 메소드
이번 포스팅에선 string 클래스와 메서드에 대해 알아보도록 하겠습니다. C++에선 문자열을 더 손쉽게 처리할 수 있도록 string 클래스와 메서드를 도입했습니다. 이 덕분에 문자열을 하나의 타입으로 처리할 수 있게 되었습니다. 개발 환경 : VSCode, Windows 10 기본 개발 세팅은 다음과 같습니다. #include #include #include using namespace std; int main() { return 0; } 📌 C 언어 스타일의 문자열 처리 C 언어는 기본적으로 문자열을 배열처럼 처리합니다. char 배열이름[길이]; 예시1 문자열을 선언하고, 나중에 cin으로 입력받아서 문자열을 초기화하는 예제입니다. int main() { const int SIZE = 20; //..
2022.06.16