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;
- 범위가 큰 타입에서 작은 타입으로 교체할 경우 문제가 생긴다.
- 특정 비트 데이터가 짤린 상태로 저장될 수 있기 때문이다.
- 정수 -> 실수로 변환할 때는 정밀도 차이가 있기 때문에 데이터가 손실될 가능성이 있다.
- 정수 -> 양수만 있는 정수로 변환할 때는 비트 단위로 보면 똑같지만, 분석하는 방법이 달라졌기에 다른 값이 저장될 수 있다.
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 |