C++ 새로운 자료형

2021. 12. 26. 01:38·C++

C언어

NULL

int number = NULL; (O)

int* ptr = NULL; (O)

nullptr //NULL 인데 포인터로 지정

int anotherNumber = nullptr; (Error)

int* anotherPtr = nullptr; (O)

포인터에는 언제나 nullptr을 사용하자. 더 이상 NULL이 있을 곳은 없다.

 

고정 폭 정수형

기존 기본 자료형은 몇 바이트로 만들어라 라는 표준이 없다. int는 4byte라고 알려져있지만 모두 그런 것은 아님.

대표적으로 long은 C#에서 8byte C++에서는 4byte임

이렇게 컴파일러마다 다른 자료형 크기를 고정하기위하여 만듦

int8_t / uint8_t

int16_t / uint 16_t

intptr_t / uintptr_t 등 더 많은 자료형이 존재.

-> 가독성 향상을 위해 기존 자료형보다 이것들을 사용하자

 

enum에는 type checking이 되지 않는다.

-> 다른 enum이지만 상수이기에 값이 겹칠 수 있다. 이로써, 다른것을 가리키지만 값이 같아 문제가 발생할 수 있다.

-> enum class을 사용 기존의 enum을 enum class로 선언

-> 값은 같지만 class가 달라 값이 같은상태로 비교되는 문제 해결

enum class는 enum에 할당할 바이트 양 정하기 가능 (<cstdint>헤더 include)

ex) enum class ScoreType : uint8_t {...};

 

헤더에서 초기화하기

-> 헤더파일에서 class를 선언하고 변수를 초기화가 가능(추천하지 않음)

-> 큰 DB에서 사용하는거 비추천, 헤더가 변경될 때마다 모든 .cpp 파일을 다시 빌드해야한다.

-> 문제가 커짐 (즉, 안쓰는게 좋다.)

저작자표시 (새창열림)

'C++' 카테고리의 다른 글

C++ 스마트 포인터  (1) 2021.12.28
C++ STL  (0) 2021.12.27
C++ 11/14/17/...의 키워드  (0) 2021.12.24
C++ STL 알고리듬  (0) 2021.12.22
C++ 탬플릿 프로그래밍  (0) 2021.12.22
'C++' 카테고리의 다른 글
  • C++ 스마트 포인터
  • C++ STL
  • C++ 11/14/17/...의 키워드
  • C++ STL 알고리듬
숯불돼지왕갈비
숯불돼지왕갈비
  • 숯불돼지왕갈비
    게임 개발 공부기
    숯불돼지왕갈비
  • 전체
    오늘
    어제
    • 분류 전체보기 (297)
      • 학교수업 (165)
      • 취업강의 (6)
      • C++ (47)
        • 코딩 테스트 (3)
      • Unreal Engine 5 (25)
        • MMORPG 개발 (25)
      • Unreal Engine 4 (44)
        • Omak Project (3)
        • Unreal Engine 4 개발일지 (9)
        • Unreal Engine 4 (32)
      • Unity (1)
        • 개발 일지 (1)
      • 수학 (3)
        • 소프트웨어 공학용 수학 (3)
      • DirectX 11 (1)
      • 게임 디자인 패턴 (2)
      • 포트폴리오 (1)
      • 자격증 (1)
        • 정보처리기사 (0)
        • SQLD (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
숯불돼지왕갈비
C++ 새로운 자료형
상단으로

티스토리툴바