코딩 모닥불
  • 메뉴 닫기
  • 글작성
  • 방명록
  • 환경설정
    • 분류 전체보기
  • 홈
  • 태그
  • 방명록
카테고리 없음

[C++] 문자열을 읽기 전용으로 참조하는 std::string_view

std::string_viewstd::string_view는 문자열을 사용하면서 발생하는, 무거운 복사 과정을 줄이고자 만든 클래스입니다. C++ 17 이상의 버전에서 사용할 수 있는, 이 클래스는 실제 원본 문자열을 읽기 전용 방식으로 참조하는 기능을 합니다. string_view가 동작하는 방법은 다음의 비유를 통해 이해할 수 있을 것입니다. 자동차를 그리는 데는 두 가지 방법이 있습니다. 하나는 자동차를 사서 세워두고 그리는 방법입니다.하지만, 이 경우는 값 비싼 비용을 감당해야 합니다. 다른 하나는 남이 세워둔 자동차를 창 너머에서 보며, 그리는 방법입니다. 남의 차니까 그 차의 외형을 변경하거나 위치를 옮길 수는 없지만, 이 방법은 많은 비용이 들지 않습니다. 위의 두 번째 방법이 string_..

2025. 3. 19.
카테고리 없음

[C++] 이름 충돌을 해결하기 위한 namespace

namespacenamespace는, 단어에서 알 수 있듯이, 이름( identifier )이 유일하게 정의된 공간을 말합니다.그리고, 이러한 공간을 만드는 이유는, 생각 외로 자주 발생하는 이름의 중복을 막기 위해서입니다. C++에서는 아래와 같이 이름을 가진 두 함수가 같은 파일에 정의되어 있으면 컴파일러 오류가 발생합니다.// main.cpp ----------------------------------------int Compute(int a, int b){ return a + b;}int Compute(int a, int b){ return a - b;}그리고, 이 같은 이름의 두 함수가 각각 다른 파일에 정의되어 있다면 링크 오류가 발생합니다.// myMath1.cpp -------..

2025. 3. 19.
카테고리 없음

[C++] 단점을 보완한 범위 있는( scoped ) enum

범위 없는( unscoped ) enumC++에서 보통의 식별자들의 경우, 중괄호 블록을 벗어나게 되면, 효력을 잃게 마련입니다.int main(){ { int val = 0; } val += 10; // error ! 변수의 범위를 벗어났음} 그렇지만, 아래의 enum 타입의 식별자 같은 경우, 이러한 제약에 영향을 받지 않습니다.int main(){ enum Color{ white, black, red }; auto white = false; // error ! enum Color2{ black, yellow, blue }; // error !! black 식별자 중복}▼출력error: 'auto white' redeclared as differen..

2025. 3. 9.
카테고리 없음

[C++] 함수를 전달하기 위한 함수 포인터( function pointer )

함수 포인터( function pointer )포인터( pointer )란 객체의 메모리 주소를 저장하는 변수입니다.이러한 포인터 중에, 함수의 메모리 주소를 저장하는 포인터를 함수 포인터라고 합니다.int var{ 5 };int* ptr{ &var }; // int 타입 변수에 대한 포인터위와 같이, 포인터를 선언하려면 포인터가 가리키는 객체의 타입과 * 기호를 사용합니다.그리고, 함수 포인터를 선언하려면, 함수 포인터가 가리키는 함수의 타입과 *기호가 필요합니다..그런데, 여기서 함수의 타입( function type )은 무엇일까요? 함수를 정의하는데 반드시 필요한 것은, 함수의 이름과, 매개변수 타입 리스트, 그리고 반환 타입입니다.( 매개변수의 이름은 경우에 따라 없을 수도 있습니다. )이 중에..

2025. 2. 28.
카테고리 없음

[C++] 사용자 정의 타입 enum을 입/출력 하기

enum 타입의 값을 문자열로 출력하기enum 타입의 열거자( enumerator )들은 사실 이름을 가진 정수형( integral ) 상수입니다. [C++] 몇 가지 값만 가질 수 있는 타입: unscoped enum두 가지 값만 가질 수 있는 타입 boolbool 타입은 C++의 기본적인 타입( fundamental type )의 하나입니다.이 타입은 키워드로 정해진 두 값 true와 false만을 가질 수 있는데, 이 상징적인 상수 true는 사실codingbonfire.tistory.comenum Stoplight { red, // 0 yellow, // 1 green, // 2 };그래서, std::cout를 통해 이 열거자를 출력해 보면..

2025. 2. 4.
  • «
  • 1
  • »

전체 카테고리

  • 분류 전체보기

블로그 인기글

태그

  • #포인터
  • #namespace
  • #static_cast
  • #inline
  • #const
  • #함수 객체
  • #Enum
  • #초기화
  • #std::stack
  • #using
  • #std::queue
  • #decltype
  • #std::unique_ptr
  • #std::string_view
  • #Lamda
  • #예외 처리
  • #복사 생성자
  • #전처리기
  • #std::sort
  • #동적 계획법
  • #소멸자
  • #범위 기반 for
  • #깊이 우선 탐색
  • #전방 선언
  • #std::vector
  • #상수 표현식
  • #헤더 가드
  • #auto
  • #constexpr
  • #이진 탐색
MORE
애드센스 광고 영역
Powered by Privatenote Copyright © 코딩 모닥불 All rights reserved. TistoryWhaleSkin3.4

티스토리툴바