프로그래머/CPP_강의정리

cpp 데이터 TIP

미역국마싯 2021. 9. 5. 15:10

1. 변수의 유효범위

[스택 영역]: { } 중괄호의 범위가 생존 범위

 

변수의 이름이 겹칠 때, 변수의 유효범위를 알면 어떤 문제가 생겼는지 알 수 있다.

 

2. 연산 우선순위

bool isEvenOrDivBy3 = ((hp % 2) == 0) || ((hp % 3) == 0));

연산 우선순위가 애매하다 싶을 때, 위 예시처럼 괄호를 이용하면 간단하다.

 

3. 타입 변환

int hp = 20;

// 타입 교체
short hp2 = hp;	// (short)가 생략 : (short) hp
float hp3 = hp;
unsigned int hp4 = hp;
  1. 범위가 큰 타입에서 작은 타입으로 교체할 경우 문제가 생긴다.
    • 특정 비트 데이터가 짤린 상태로 저장될 수 있기 때문이다.
  2. 정수 -> 실수로 변환할 때는 정밀도 차이가 있기 때문에 데이터가 손실될 가능성이 있다.
  3. 정수 -> 양수만 있는 정수로 변환할 때는 비트 단위로 보면 똑같지만, 분석하는 방법이 달라졌기에 다른 값이 저장될 수 있다.

 

4. 사칙 연산

오버플로우

int와 int를 곱하면 int타입이 나온다. 하지만 너무 큰 값끼리 곱하면 int타입이 가진 범위를 벗어날 수 있다. 이를 오버플로우라고 한다.

 

0 나누기

없다.

 

실수 나누기

int / int -> int

123 / 1000 = 0.0

따라서 둘 중 하나를 실수로 만들어서 나눠야 한다.

 

 

출처

https://www.inflearn.com/course/%EC%96%B8%EB%A6%AC%EC%96%BC-3d-mmorpg-1/dashboard

 

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문 - 인프런 | 강의

시리즈를 원활하게 학습하기 위한 기초적인 C++ 문법들에 대해 학습합니다. 어셈블리 언어부터 시작해서 기본 C++ 문법, STL, C++11까지 핵심적인 내용을 압축해서 다루게 됩니다., - 강의 소개 | 인

www.inflearn.com

 

'프로그래머 > CPP_강의정리' 카테고리의 다른 글

cpp 반복문  (0) 2021.09.05
cpp switch-case 문  (0) 2021.09.05
cpp const와 메모리 구조  (0) 2021.09.04
cpp 비트 연산과 비트 플래그  (0) 2021.08.21
cpp 문자와 문자열  (0) 2021.08.17