Computer >> 컴퓨터 >  >> 프로그래밍 >> C++

C++

  1. C++ 표준 라이브러리 헤더 파일 총정리

    ```html C++ 표준 라이브러리는 용도에 따라 여러 종류의 라이브러리로 구성되어 있습니다. 이 글에서는 각 분야별로 분류된 헤더 파일 목록과 핵심 기능을 정리했습니다. C++11, C++17, C++20에서 새로 추가된 헤더도 함께 표시했으니, 프로젝트에 필요한 헤더를 빠르게 찾는 참고 자료로 활용해 보세요.유틸리티 라이브러리<cstdlib> — 프로그램 제어, 동적 메모리 할당, 난수 생성, 정렬·검색 등 범용 유틸리티<csignal> — 시그널(signal) 관리를 위한 함수 및 매크로 상수 (예: S

  2. C++ 표준 출력 스트림(std::cout) 완벽 가이드

    std::cout은 좁은 문자(narrow character, char 타입)를 다루는 표준 출력 스트림을 나타내는 ostream 클래스의 객체입니다. C 언어의 stdout 스트림에 해당하며, 실행 환경에 따라 결정된 기본 출력 대상(일반적으로 화면)으로 문자를 전송합니다. 이 출력 대상은 cerr이나 clog 같은 다른 표준 객체와 공유될 수도 있습니다.std::cout의 특징ostream 클래스의 객체인 std::cout에는 두 가지 방식으로 데이터를 출력할 수 있습니다.서식화된 출력: 삽입 연산자(operator<<

  3. C++의 '긴 화살표' 연산자(----->)란 무엇일까?

    C++에는 사실 긴 화살표(long arrow)라는 이름의 연산자는 존재하지 않습니다. 하지만 이 글에서 소개할 트릭을 알면, 마치 그런 연산자가 실제로 있는 것처럼 코드를 작성할 수 있습니다. 그 원리를 하나씩 살펴보겠습니다. 래퍼 타입과 operator-> C++에서는 때때로 래퍼(wrapper) 타입을 직접 만들어야 할 때가 있습니다. unique_ptr, shared_ptr, optional 같은 타입들이 대표적인 예입니다. 이런 타입들은 내부 값을 꺼내는 접근자(accessor) 멤버 함수인 .get()을 제공하는

  4. C++ 표준 입력 스트림(std::cin) 완벽 가이드

    std::cin은 istream 클래스의 객체로, char 타입의 좁은 문자(narrow character)를 처리하는 표준 입력 스트림을 나타냅니다. C 언어의 stdin 스트림에 해당하며, 표준 입력 스트림은 실행 환경에 따라 결정되는 문자 입력원입니다. 일반적으로 키보드나 파일처럼 외부 소스로부터의 입력으로 간주됩니다. std::cin의 특징 istream 클래스의 객체인 std::cin은 두 가지 방식으로 문자를 읽어올 수 있습니다. 형식화된 입력(Formatted Input): 추출 연산자(operator>>)

  5. C++ 표준 오류 스트림(std::cerr)이란? 개념부터 사용 예제까지

    std::cerr란 무엇인가? std::cerr는 ostream 클래스의 객체로, char 타입의 좁은 문자(narrow character)를 위한 표준 오류 스트림(standard error stream)을 나타냅니다. C 언어의 stderr 스트림에 대응하며, 이 스트림의 출력 목적지는 프로그램이 실행되는 환경에 따라 결정됩니다. 또한 이 목적지는 cout이나 clog처럼 다른 표준 객체와 공유될 수도 있습니다. std::cerr의 주요 특징 std::cerr는 ostream 클래스의 객체이므로 다음 두 가지 방식으로 문자를 출

  6. C++ 연산자 오버로딩의 기본 규칙과 관용구 총정리

    C++ 연산자 오버로딩의 세 가지 기본 규칙 C++에서 연산자 오버로딩(operator overloading)을 다룰 때 반드시 따라야 할 기본 규칙이 세 가지 있습니다. 물론 모든 규칙에는 예외가 존재하지만, 이 세 가지 원칙을 지키면 훨씬 안전하고 유지보수하기 좋은 코드를 작성할 수 있습니다. 규칙 1: 의미가 명확하지 않다면 오버로딩하지 마세요 연산자의 의미가 명백하고 논란의 여지가 없는 경우가 아니라면 연산자를 오버로딩해서는 안 됩니다. 대신 적절한 이름을 가진 함수를 제공하는 것이 바람직합니다. 사실 연산자 오버로딩의 가

  7. C++ 점(.) 연산자와 화살표(->) 연산자의 차이점 완벽 정리

    C++에서 점(.) 연산자와 ) 연산자는 모두 클래스의 멤버에 접근할 때 사용됩니다. 다만 두 연산자는 서로 다른 상황에서 사용된다는 차이가 있습니다. C++에서는 class, struct, union으로 선언된 타입을 모두 클래스 타입(class type)으로 간주하므로, 아래 설명은 이 세 가지 타입 모두에 해당합니다. a.b는 b가 객체 a(또는 객체에 대한 참조)의 멤버일 때만 사용할 수 있습니다. 즉, a.b에서 a는 항상 클래스의 실제 객체이거나 객체에 대한 참조여야 합니다. a->b는 본질적으로 (*a).b의 축

  8. C++ cin, cout, cerr 스트림 완벽 가이드: 표준 입출력의 이해

    C++ 표준 입출력 스트림이란? cin, cout, cerr, clog는 표준 입력(standard input)과 표준 출력(standard output)을 담당하는 스트림입니다. 이 네 가지 스트림 객체는 모두 iostream 헤더 파일에 정의되어 있으며, C++ 프로그램에서 콘솔 입출력을 처리할 때 반드시 알아야 할 핵심 요소입니다. std::cin — 표준 입력 스트림 std::cin은 istream 클래스의 객체로, 좁은 문자(narrow character, char 타입)를 다루는 표준 입력 스트림을 나타냅니다. C 언어

  9. C++에서 new 연산자로 메모리를 초기화하는 방법

    C++에서 new 연산자는 메모리를 할당하기 위해 정의된 연산자일 뿐, 초기화를 목적으로 하지 않습니다. 하지만 new 연산자로 int 타입 배열을 할당하면서 동시에 모든 요소를 기본값(정수의 경우 0)으로 초기화하고 싶다면 다음과 같은 문법을 사용할 수 있습니다.문법new int[10]();여기서 주의할 점은 반드시 빈 괄호 ()를 사용해야 한다는 것입니다. 예를 들어 (0)이나 다른 표현식을 지정할 수 없으며, 이 문법은 오직 기본값 초기화(default initialization)에만 유용합니다.만약 기본값이 아닌 다른 값으로

  10. C++ cerr과 clog 스트림의 차이점 완벽 정리

    C++ cerr과 clog 스트림의 차이점C++에서 cerr와 clog는 모두 표준 에러 스트림(stderr)에 해당하는 객체입니다. 두 스트림은 오류 메시지를 출력하는 용도로 사용되지만, 버퍼링 방식에서 중요한 차이가 있습니다. 이해를 돕기 위해 표준 출력 스트림인 cout 객체에 대해서도 함께 살펴보겠습니다.버퍼를 사용하지 않는 표준 에러 스트림 (cerr)cerr는 오류 메시지를 출력하기 위한 표준 에러 스트림으로, ostream 클래스의 인스턴스입니다. cerr는 버퍼를 사용하지 않는(un-buffered) 스트림이기 때문에

  11. C++ friend 키워드 완벽 정리: 언제, 어떻게 사용해야 할까?

    클래스의 friend 함수는 해당 클래스의 범위(scope) 외부에서 정의되지만, 클래스의 모든 private 및 protected 멤버에 접근할 수 있는 특별한 권한을 가집니다. friend 함수의 원형(prototype)이 클래스 정의 내부에 선언되긴 하지만, friend는 엄밀히 말해 멤버 함수가 아닙니다.friend로 지정할 수 있는 대상friend는 일반 함수, 함수 템플릿, 멤버 함수가 될 수 있으며, 클래스나 클래스 템플릿도 friend로 지정할 수 있습니다. 클래스를 friend로 선언하면 그 클래스 전체와 모든 멤버

  12. C++ cerr과 cout의 차이점: stdout·stderr 스트림 완벽 이해

    C++에서 cerr과 cout의 차이점C++에서 cout은 표준 출력(stdout) 스트림의 객체이고, cerr는 표준 오류(stderr) 스트림의 객체입니다. 두 객체 모두 <iostream> 헤더에 정의되어 있으며, 기본적으로 콘솔 화면에 출력된다는 공통점이 있지만 성격과 용도가 서로 다릅니다.1. 서로 다른 독립적인 스트림stdout과 stderr는 기본적으로 모두 콘솔에 출력되기 때문에 같은 것처럼 보이지만, 실제로는 별개의 독립적인 스트림입니다. 따라서 둘 중 하나를 리디렉션하거나 파이프로 연결하더라도(예: pr

  13. C++에서 전위 증가(++i)와 후위 증가(i++)의 차이점 완벽 정리

    C++에서 ++ 연산자는 전위(prefix) 방식과 후위(postfix) 방식 두 가지로 사용할 수 있으며, 이 둘은 동작 결과에 중요한 차이가 있습니다.전위 증가(++i)와 후위 증가(i++)의 차이전위 버전(++i): 변수 i의 값을 먼저 1 증가시킨 후, 그 표현식의 값은 증가된 새로운 값이 됩니다. 즉, 먼저 증가하고, 그다음 값을 반환합니다.후위 버전(i++): 변수 i의 값은 1 증가하지만, 그 표현식의 값은 증가하기 전의 원래 값입니다. 즉, 먼저 기존 값을 반환하고, 그다음에 증가합니다.예제 코드코드를 통해 더 명확하

  14. C++ && 연산자란? r값 참조(Rvalue Reference) 핵심 정리

    && 연산자란 무엇인가?C++에서 &&(이중 앰퍼샌드)는 C++11 표준에서 새롭게 도입된 참조 연산자입니다. int&& a와 같이 선언하면 변수 a가 r값 참조(rvalue reference)임을 의미합니다.이 연산자는 주로 함수의 매개변수를 선언할 때 사용되며, 오직 r값(rvalue) 표현식만 인자로 받아들일 수 있다는 특징이 있습니다.l값(Lvalue)과 r값(Rvalue)의 차이간단히 설명하면, r값은 메모리 주소를 가지지 않는 값입니다. 예를 들어 숫자 6이나 문자 v는 모두 r

  15. C++에서 endl과 '\n'의 차이점 완벽 비교

    C++에서 출력할 때 개행 문자를 넣는 방법은 크게 두 가지가 있습니다. 바로 \n과 std::endl입니다. 두 표기법 모두 줄바꿈을 수행하지만, 내부 동작에는 중요한 차이가 있습니다.\n의 동작 방식\n은 단순히 개행 문자를 출력합니다. 이때 개행 문자는 운영체제에 맞는 형식으로 변환되어 출력됩니다. 예를 들어 Windows 환경에서는 \r\n(캐리지 리턴 + 라인 피드)으로 처리됩니다. 핵심은 \n이 스트림을 플러시(flush)하지 않는다는 점입니다.std::endl의 동작 방식std::endl도 마찬가지로 개행 문자를 출력하

  16. C++에서 cin과 cout 스트림의 차이점 완벽 정리

    cin과 cout의 기본 개념cin은 입력 스트림(input stream) 객체로, 콘솔이나 파일 등 다양한 입력 소스로부터 데이터를 읽어올 때 사용됩니다. 반면 cout은 출력 스트림(output stream) 객체로, 처리 결과를 화면에 출력하는 역할을 합니다. 쉽게 말해 cin은 입력을 담당하고, cout은 출력을 담당한다고 이해하면 됩니다.사용하는 연산자의 차이두 객체는 사용하는 연산자도 서로 다릅니다.cin: 추출 연산자(extraction operator, >>)를 사용하여 스트림에서 데이터를 꺼내 변수에 저장

  17. C++ 기본 산술 연산자 완벽 정리: 예제 코드와 실행 결과까지 한눈에

    C++에서 가장 자주 사용되는 연산자 중 하나가 바로 산술 연산자(arithmetic operators)입니다. 산술 연산자는 숫자 데이터를 대상으로 덧셈, 뺄셈 같은 수학적 계산을 수행하는 역할을 하며, C++에는 다음과 같이 5가지 기본 산술 연산자가 존재합니다.덧셈(Addition) : +뺄셈(Subtraction) : -나눗셈(Division) : /곱셈(Multiplication) : *나머지(Modulo) : %이 연산자들은 C++의 모든 산술 연산에 활용할 수 있습니다. 각 연산자의 동작 방식을 코드 예제를 통해 직접

  18. C++ 복합 할당 연산자 완벽 정리: 종류와 사용법

    C++의 복합 할당 연산자(compound assignment operator)는 e1 op= e2 형태로 표현됩니다. 여기서 e1은 const 타입이 아닌, 수정 가능한 l-value여야 하며 e2는 다음 중 하나여야 합니다.산술 타입(arithmetic type)포인터 타입 — 단, 연산자(op)가 + 또는 -인 경우에 한함e1 op= e2는 e1 = e1 op e2와 동일하게 동작하지만, 결정적인 차이점은 e1이 단 한 번만 평가된다는 것입니다. 덕분에 코드가 더 간결해지고, 부작용(side effect)이 중복으로 발생할 위

  19. C++ 증감 연산자(++, --) 완벽 이해하기: 전위(Prefix)와 후위(Postfix)의 차이

    C++에서 증가 연산자(++)는 피연산자에 1을 더하고, 감소 연산자(--)는 피연산자에서 1을 뺍니다. 즉, 다음 두 코드는 동일한 의미입니다.x = x + 1; → x++;마찬가지로 감소 연산자도 아래와 같이 표현할 수 있습니다.x = x - 1; → x--;전위(Prefix)와 후위(Postfix) 표기법증가 및 감소 연산자는 피연산자의 앞에 위치하는 전위(prefix) 방식과 뒤에 위치하는 후위(postfix) 방식, 두 가지 형태로 사용할 수 있습니다.x = x + 1; → ++x;전위와 후위의 중요한 차이점증가

  20. C++ 프로그래밍 언어 기초 완벽 가이드: 특징부터 Hello World까지

    C++는 1979년 벨 연구소(Bell Labs)에서 비야네 스트롭스트룹(Bjarne Stroustrup)이 개발한 프로그래밍 언어입니다. C++는 고급 언어와 저급 언어의 특성을 모두 갖추고 있어 중간 수준(middle-level) 언어로 분류됩니다. C의 상위 집합(superset)이기 때문에, 사실상 모든 유효한 C 프로그램은 그대로 유효한 C++ 프로그램이기도 합니다. 또한 C++는 Windows, Mac OS, 다양한 버전의 UNIX 등 여러 플랫폼에서 실행할 수 있습니다.C++의 주요 특징C++는 다음과 같은 특징을 지닌

Total 5981 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:6/300  20-컴퓨터/Page Goto:1 2 3 4 5 6 7 8 9 10 11 12