본문 바로가기
반응형

프로그래밍/C++14

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.
반응형