안녕하세요! 이번 글에서는 C++ 콘솔 응용프로그램 실습 및 제작을 위한 프로젝트 생성 방법에 대해 알아보겠습니다. 운영체제 : 윈도우 10 컴파일러 : Visual Studio 2019 1. 먼저 프로젝트를 생성하기 위해 비주얼 스튜디오를 열어 새 프로젝트 만들기 버튼을 눌러줍니다. 2. 언어를 C++로 설정하고 콘솔앱 버튼을 누른 후 다음으로 넘어갑니다. 3. 프로젝트 이름 및 솔루션 이름을 수정 후 만들기 버튼을 클릭합니다. 4. 완성! 현재 만들어진 콘솔 응용프로그램은 F5를 눌러 빌드를 했을 때 콘솔창에 Hello World! 라는 문자를 띄워줍니다. 이것은 비주얼 스튜디오가 프로젝트를 생성할 때 테스트 용 코드를 기본적으로 제공해준 것입니다. 앞으로의 모든 콘솔 응용프로그램 ..
안녕하세요! 이번에는 C++에서의 깊은 복사와 얕은 복사에 대해 알아보겠습니다. 객체를 복사할 때는 이 두 가지 방법을 사용하여 메모리 관리와 객체의 독립성을 유지할 수 있습니다. 얕은 복사 (Shallow Copy) 얕은 복사는 단순히 객체의 멤버 변수를 복사하여 동일한 데이터를 공유하는 방식입니다. 이 경우에는 복사된 객체와 원본 객체가 같은 데이터를 가지므로 한 쪽에서 변경이 일어나면 다른 쪽도 영향을 받게 됩니다. 아래는 얕은 복사의 예제입니다.#include class ShallowCopy { private: int* data; public: ShallowCopy(int value) { data = new int(value); } void setValue(int value) { *data = v..
안녕하세요! 이번에는 C++에서 콜백 함수와 함수 포인터에 대해 알아보겠습니다. 콜백 함수는 한 함수가 다른 함수를 호출하고, 호출된 함수가 다시 원래의 함수로 돌아와 작업을 계속하는 것을 말합니다. 이를 통해 코드의 유연성과 재사용성을 높일 수 있습니다. 함수 포인터 함수 포인터는 함수의 주소를 저장하는 변수로서, 다른 함수를 가리키고 호출할 수 있는 기능을 제공합니다. 이를 이용하여 콜백 함수를 구현할 수 있습니다. 아래는 콜백 함수와 함수 포인터를 활용한 간단한 예제입니다. #include // 콜백 함수 시그니처 typedef void (*CallbackFunction)(int); // 콜백 함수 void MyCallback(int value) { std::cout
안녕하세요! 이번 글에서는 C++에서의 코딩 컨벤션에 대해 알아보겠습니다. 코딩 컨벤션은 일관된 코드 스타일과 가독성을 유지하기 위해 개발자들 간에 합의된 규칙의 모음입니다. 일관된 코딩 컨벤션은 코드의 가독성을 높이고 유지보수성을 향상시키는 데 도움이 됩니다. 명명 규칙 변수와 함수 이름은 소문자로 시작하고, 여러 단어일 경우에는 단어 사이를 밑줄(_)로 구분합니다. [ex)my_variable, calculate_area()] 클래스 이름은 대문자로 시작하고, 대문자로 이어지는 단어를 사용합니다. [ex) MyClass, MyCustomObject] 중괄호 위치 중괄호({})는 항상 새로운 줄에 시작하며, 해당 블록의 내용은 들여쓰기를 해줍니다. if (condition) { // code here ..
안녕하세요! 이번에는 전처리기 포스팅에 덧붙여서 C++에서의 조건부 컴파일에 대해 자세히 알아보겠습니다. 조건부 컴파일은 특정 조건에 따라 컴파일러가 코드를 포함하거나 제외하는 기능을 제공합니다. 이를 통해 운영 체제, 플랫폼, 컴파일러 버전 등에 따라 다른 코드를 사용할 수 있습니다. 조건부 컴파일은 주로 #ifdef, #ifndef, #else, #endif 등의 전처리기 지시문을 사용하여 구현됩니다. #ifdef와 #ifndef #ifdef는 지정된 매크로 심볼이 정의되어 있는지를 확인하고, 정의되어 있다면 해당 코드 블록을 컴파일합니다. #ifndef는 지정된 매크로 심볼이 정의되어 있지 않은지를 확인하고, 정의되어 있지 않다면 해당 코드 블록을 컴파일합니다. #ifdef MY_MACRO // M..
안녕하세요! 이번 글에서는 C++의 전처리기에 대해 자세히 알아보겠습니다. 전처리기는 C++ 프로그램을 컴파일하기 전에 소스 코드를 변형하는 역할을 합니다. 전처리기 지시문은 # 기호로 시작하며, 컴파일러에게 특정 작업을 수행하도록 지시합니다. 전처리기 지시문 전처리기는 전처리기 지시문을 사용하여 동작합니다. 몇 가지 흔히 사용되는 전처리기 지시문을 살펴보겠습니다. #include : 다른 파일의 내용을 현재 파일에 포함시키는 역할을 합니다. 일반적으로 헤더 파일을 포함할 때 사용됩니다. #define : 상수나 매크로를 정의합니다. #define 지시문을 사용하면 특정 값을 상수로 정의하거나, 코드 블록을 매크로로 정의할 수 있습니다. #ifdef, #ifndef, #endif : 조건부 컴파일을 수행..