본문 바로가기
반응형

전체 글199

C++11 주요 업데이트 : override, final, std::thread, std::array 🔖 INDEX override와 final C++11에서는 클래스 상속과 관련하여 두 가지 새로운 키워드, override와 final을 도입했습니다. 이 두 키워드는 코드의 명시성과 안정성을 높이기 위해 클래스 상속과 오버라이드 시 사용됩니다. 이러한 키워드를 통해 프로그래머의 의도를 더욱 명확하게 표현할 수 있게 되었습니다. override 개념: override 키워드는 파생 클래스에서 기본 클래스의 가상 함수를 오버라이드하고 있다는 것을 명시적으로 나타내기 위해 사용됩니다. 장점: 이 키워드를 사용하면, 실수로 함수를 오버라이드하지 않은 경우(예: 함수의 서명이 일치하지 않을 때) 컴파일러가 경고 혹은 오류를 발생시켜 줍니다. class Base { public: virtual void func(.. 2023. 9. 30.
C++11 주요 업데이트 : Initializer Lists, decltype, Template Aliases 🔖 INDEX 초기화 목록 (Initializer Lists) C++11에서 도입된 초기화 목록(Initializer Lists)은 중괄호 {}를 사용하여 여러 값으로 객체를 초기화할 수 있게 해주는 문법입니다. 이를 통해 배열, 컨테이너, 사용자 정의 타입 등의 객체 초기화가 간결하고 명료하게 이루어집니다. 기본 사용 방법 배열 int arr[] = {1, 2, 3, 4, 5}; STL 컨테이너 std::vector vec = {1, 2, 3, 4, 5}; 사용자 정의 타입 class MyClass { private: int x, y; public: MyClass(int a, int b) : x(a), y(b) {} }; MyClass obj = {3, 4}; // MyClass의 생성자를 사용하여 초.. 2023. 9. 30.
C++11 주요 업데이트 : auto, nullptr, 람다 식 🔖 INDEX 자동 형식 추론 (auto) auto는 C++11에서 도입된 키워드로, 변수의 타입을 컴파일러가 자동으로 추론하게 하는 기능입니다. 즉, 개발자는 변수의 정확한 타입을 명시하지 않고 auto 키워드를 사용하여 컴파일러에게 타입 추론을 맡길 수 있습니다. auto 사용 예 auto i = 42; // int auto d = 3.14; // double auto s = "hello"; // const char* auto v = std::vector{1, 2, 3}; // std::vector 이처럼 auto는 변수의 초기화식을 기반으로 해당 변수의 타입을 추론합니다. auto의 장점 가독성 향상: 복잡한 타입명을 반복적으로 작성할 필요가 없어 코드가 더 간결하고 가독성이 향상됩니다. 타입 안정.. 2023. 9. 30.
C++의 메모리 관리 : 동적 할당, 스마트 포인터 🔖 INDEX C++의 메모리 관리 C++은 개발자에게 메모리 관리에 대한 풍부한 컨트롤을 제공한다. 이러한 자유도는 강력함을 가져다주지만, 잘못 관리될 경우 메모리 누수와 같은 문제점을 야기할 수 있다. 이 글에서는 C++의 동적 할당과 해제, 메모리 누수의 원인 및 해결법, 그리고 스마트 포인터에 대해 살펴볼 것이다. 동적 할당과 해제 C++에서는 메모리의 동적 할당 및 해제를 수행하기 위한 여러 방법이 제공된다. 그 중 가장 대표적인 방법은 new와 delete를 사용하는 것과, C에서부터 사용되어 온 malloc과 free 함수를 사용하는 것이다. new와 delete C++에서는 new와 delete 연산자를 사용해 동적으로 메모리를 할당하고 해제할 수 있다. new로 메모리를 할당하면, 해당 .. 2023. 9. 29.
C++ 함수 포인터 (Function Pointer) 🔖 INDEX 함수 포인터의 이해 C++에서 함수는 메모리에 저장되어 있으며, 따라서 그 함수의 시작 주소를 가리키는 포인터를 사용할 수 있습니다. 이러한 포인터를 함수 포인터라고 합니다. 함수 포인터의 선언 함수 포인터를 선언하는 것은 처음에는 조금 복잡해 보일 수 있습니다. 그러나 몇 번 연습하면 쉽게 이해하게 됩니다. 다음은 int 타입을 반환하고, 두 개의 int 인자를 받는 함수 포인터의 선언 예시입니다. int (*FunctionPtr)(int, int); 이때 FunctionPtr는 함수 포인터의 이름입니다. 함수 포인터 초기화 함수 이름은 그 함수의 시작 주소를 의미합니다. 따라서 함수 포인터를 해당 함수의 주소로 초기화할 수 있습니다. int add(int x, int y) { retur.. 2023. 9. 29.
C++ 서식지정자(Format Specifier) 🔖 INDEX 주요 서식 지정자들에 대한 설명 1. %d 또는 %i: 정수(int) 값을 출력하거나 입력받을 때 사용합니다. int num = 123; printf("%d\n", num); scanf("%d", &num); 2. %u: 부호 없는 정수(unsigned int) 값을 출력하거나 입력받을 때 사용합니다. 3. %f: 부동 소수점(float) 값을 출력합니다. float num = 123.456; printf("%f\n", num); 4. %lf: double 타입의 부동 소수점 값을 출력하거나 입력받을 때 사용합니다. double num = 123.456; printf("%lf\n", num); scanf("%lf", &num); 5. %c: 단일 문자(char)를 출력하거나 입력받을 때 사.. 2023. 9. 27.
C++ 소수점 처리방법 : floor, ceil, round 🔖 INDEX C++에서 실수형 변수를 다루는 방법 중, 특히 소수점 처리 방법 중 정수로 변환하는 방법에 대해서 자세히 알아보겠습니다. 정수형 (int)로 변환 실수형 자료형 (double, float)을 정수형 (int)로 변환하면 소수점 이하의 값이 버려집니다. 아래는 이에 대한 예시입니다: double num1 = 3.14, num2 = 3.78, num3 = -3.34; int int_num1 = (int)num1; // int_num1은 이제 3입니다. int int_num2 = (int)num2; // int_num2은 이제 3입니다. int int_num3 = (int)num3; // int_num3은 이제 -3입니다. 물론, 이렇게 단순히 정수로 변환하는 것 외에도 C++에서 제공하는 여.. 2023. 7. 21.
WinMerge: 파일 및 디렉토리 비교 프로그램 소개 🔖 INDEX 오늘 소개드릴 프로그램은 WinMerge입니다. WinMerge는 파일 또는 디렉토리 간 차이점을 비교하고 병합하는 작업을 쉽고 직관적으로 수행할 수 있는 유용한 툴입니다. 특히 프로그램 개발을 할 때 소스 코드의 버전 차이를 파악하거나 코드의 변경사항을 확인하는 데 매우 유용합니다. 이 포스트에서는 WinMerge의 설치 방법부터 간단한 사용 방법까지 알아보겠습니다. WinMerge 설치파일 다운받기 우선 WinMerge 설치 파일을 다운받아야 합니다. WinMerge의 공식 홈페이지는 아래 링크를 클릭하시면 바로 접속이 가능합니다. 홈페이지에 접속하면 아래 같은 화면이 뜨며, 우측 상단의 "지금 다운로드! (Download Now!)" 버튼을 클릭하시면 됩니다. 클릭 후 약 5초 정도 .. 2023. 7. 9.
최대 30% 교통비 절약 '알뜰교통카드 플러스' 🔖 INDEX 안녕하세요, 머니테크리더입니다. 오늘은 우리의 지갑을 가볍게 해주는 꿀 팁을 알려드릴까 해요. 바로 '알뜰교통카드 플러스'에 대한 이야기입니다. 이 글에서는 이 카드의 혜택부터 신청 방법, 사용 팁까지 상세하게 알아보도록 하겠습니다. 알뜰교통카드 플러스란? '알뜰교통카드 플러스'는 출퇴근과 통학 등으로 대중교통을 정기적으로 이용하는 국민들의 주머니 부담을 줄이고, 대중교통과 보행, 자전거 등 친환경 교통 이용을 지원하는 제도입니다. 국토교통부와 카드사들이 함께 만들어 국민들의 교통비 부담을 완화하기 위한 대책입니다. 교통비를 최대 30%까지 절약할 수 있는 이 카드는 BC, KB국민, 현대, NH농협, 삼성카드 등 다양한 카드사에서 발급하고 있습니다. 카드 신청 방법 알뜰교통카드 플러스는 .. 2023. 7. 9.
반응형