주의 사항! 이 글은 제가 직접 공부하는 중에 작성되고 있습니다. 따라서 제가 이해하는 그대로의 내용이 포함됩니다. 따라서 이 글은 사실과는 다른 내용이 포함될 수 있습니다. C언어를 배우면서 malloc 함수와 free 함수를 이용해 동적으로 메모리를 할당하는 방법을 배웠습니다. 이를 사용해 길이 정보를 인자로 받아서, 해당 길이의 문자열 저장이 가능한 배열을 생성하고, 그 배열의 주소 값을 반환하는 함수를 정의한 예제를 살펴보겠습니다. #include #include #include using std::cout; using std::cin; using std::endl; char* MakeStrAdr(int len) { char* str = (char*)malloc(sizeof(char) * len)..
주의 사항! 이 글은 제가 직접 공부하는 중에 작성되고 있습니다. 따라서 제가 이해하는 그대로의 내용이 포함됩니다. 따라서 이 글은 사실과는 다른 내용이 포함될 수 있습니다. 참조자의 이해 지금부터 설명하는 '참조자'라는 것은 성격상 포인터와 비교되기 쉽습니다. 그러나 참조자는 포인터를 이해하지 못해도 이해할 수 있는 개념입니다. 지금까지 변수를 선언할 때 다음과 같이 선언했습니다. int org = 200; 위의 선언으로 인해 다음과 같은 일련의 과정들이 진행됩니다. 컴파일 단계에서 int형 데이터를 저장할 메모리 공간을 할당합니다. 해당 공간의 이름을 "org"라고 부릅니다.(주소와 헷갈리시면 안 됩니다.) 해당 공간의 쓰레기 값을 데이터 200으로 초기화합니다. 참조자는 해당 메모리 공간을 'org..
주의 사항! 이 글은 제가 직접 공부하는 중에 작성되고 있습니다. 따라서 제가 이해하는 그대로의 내용이 포함됩니다. 따라서 이 글은 사실과는 다른 내용이 포함될 수 있습니다. C와 C++ 모두, 정수 0은 '거짓'을, 그리고 0이 아닌 모든 정수는 '참'을 의미하는 숫자로 정의하고 있습니다. 따라서 참과 거짓의 표현을 위해 다음과 같이 매크로 상수를 정의하는 것이 일반적이었습니다. #define TRUE 1 #define FALSE 0 그러나 C++에서는 참과 거짓의 표현을 위한 키워드 true와 false를 정의하고 있기 때문에 위와 같이 굳이 매크로 상수를 정의해서 사용할 필요가 없습니다. 예제를 통해 확인해 보겠습니다. #include using namespace std; int main() { i..
※ 주의 사항 ※ 이 글의 목적은 '지식의 전달'이 아닌 '학습의 기록'입니다. 따라서 제가 이해하는 그대로의 내용이 포함됩니다. 따라서 이 글은 사실과는 다른 내용이 포함될 수 있습니다. 등장 배경 먼저 다음의 이야기를 통해 namespace의 등장 배경에 대해 알아보겠습니다. 은행 관리 시스템을 개발하는 데에 있어서 세 개의 회사가 참여를 했습니다. 각 회사의 이름은 BestCom, ProgCom, HybridCom입니다. 이들은 프로젝트의 규모가 큰 관계로 일을 구분하여 독립적으로 진행하기로 했습니다. 그래서 이를 목적으로 구현해야 할 부분을 적절히 나누고 6개월 뒤에 모여서 하나의 프로젝트를 완성하기로 합니다. 드디어 6개월의 시간이 흘렀습니다. 각각의 회사가 구현한 모듈을 하나로 묶고, 부족한 ..
주의 사항! 이 글은 제가 직접 공부하는 중에 작성되고 있습니다. 따라서 제가 이해하는 그대로의 내용이 포함됩니다. 따라서 이 글은 사실과는 다른 내용이 포함될 수 있습니다. C언어에서 '매크로 함수'라는 것을 배웠습니다. 인라인 함수는 매크로 함수의 장점을 유지하면서 단점을 줄인 C++의 매크로 함수라고 생각할 수 있습니다. 인라인 함수의 사용법을 예제를 통해 알아보겠습니다. #include inline int SQUARE(int x) { return x * x; } int main() { std::cout
주의 사항! 이 글은 제가 직접 공부하는 중에 작성되고 있습니다. 따라서 제가 이해하는 그대로의 내용이 포함됩니다. 따라서 이 글은 사실과는 다른 내용이 포함될 수 있습니다. C++의 함수에는 오버로딩 뿐만 아니라 '디폴트 값'을 설정할 수 있습니다. 자세한 내용은 예제를 통해 살펴보겠습니다. #include int Adder(int num1 = 1, int num2 = 2) { return num1 + num2; } int main(void) { std::cout