코딩 모닥불
  • 메뉴 닫기
  • 글작성
  • 방명록
  • 환경설정
    • 분류 전체보기
      • C++
      • 표준 라이브러리
      • 백준(BOJ)
  • 홈
  • 태그
  • 방명록
C++

[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++

[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++

[C++] 몇 가지 값만 가질 수 있는 타입: unscoped enum

두 가지 값만 가질 수 있는 타입 boolbool 타입은 C++의 기본적인 타입( fundamental type )의 하나입니다.이 타입은 키워드로 정해진 두 값 true와 false만을 가질 수 있는데, 이 상징적인 상수 true는 사실 정수 1을 가리키고, false는 정수 0을 의미합니다.#include int main(){ std::cout ▼출력1 0그렇기 때문에, '그냥 int나 short 타입을 사용해도 되는 것 아닌가'라고 생각할 수 있고, 실제로 그렇게들 많이 사용합니다.하지만, 프로그램 코드의 입장에서 보면, bool 타입의 사용은 크게 두 가지 장점을 갖고 있습니다. 첫 번째, bool 타입을 사용함으로써, 코드를 읽고 이해하기 쉽게 만들 수 있습니다.if ( Calculatio..

2025. 2. 2.
C++

[C++] 클래스의 모든 객체에 공유되는 정적( static ) 멤버 변수

정적 멤버 변수( static member variable )static는 이 키워드가 사용되는 문맥에 따라, 다양한 해석이 필요한 키워드( keyword )입니다. 만약, 이 키워드가 전역 변수( global variable )와 함께 사용되면, 이 전역 변수가 정의된 파일 내에서만 공유되는( 내부 링크를 가지므로 ) 전역 변수를 의미하게 되며, 함수 안의 지역 변수( local variable )와 함께 사용되면, 그 함수 호출 시에만 공유되는 전역 변수를 정의하게 됩니다. [C++] 전역 변수( global variable )의 종류와 링크( linkage )의 개념전역 변수의 종류C++에서 지역 변수( local variable )는 함수 내부에 정의된 변수를 말합니다.이에 대응하는, 함수 외부에..

2025. 1. 8.
  • «
  • 1
  • »

전체 카테고리

  • 분류 전체보기
    • C++
    • 표준 라이브러리
    • 백준(BOJ)

블로그 인기글

태그

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

티스토리툴바