목록Develop/C++ (80)
오븐 노트
#include using namespace std; int main() { const int ROCK = 0; const int PAPER = 1; const int SCISSORS = 2; int input = 0; cin >> input; // switch는 정수 계열만 적용 가능 switch (input) { case ROCK: cout
타입 변환 #include using namespace std; int main() { int hp = -1; short hp2 = hp; // 윗쪽 비트 데이터가 잘린 상태로 저장 float hp3 = hp; // 실수로 변환 시 정밀도 차이가 있기 때문에 데이터 손실 unsigned int hp4 = hp; // 비트 단위로 보면 같지만, 분석하는 방법이 달라짐 } 곱셈 (오버플로우) 나눗셈 (0 조심, 실수 관련) #include using namespace std; int main() { int hp = 123; int maxHp = 1000; float ratio1 = hp / maxHp; // int 나누기 int는 결과값이 정수로 나타나기 때문에 0.123이 아닌 0으로 나타남 float r..
constant : 상수 (초기값 지정 필수 / C++ 표준으로는 어느 영역에 속해야 한다는 말은 없으므로 컴파일러 마음대로) 데이터 영역 (전역 변수) .data 초기값 있는 경우 (int a = 2;) .bss 초기값 없는 경우 (int b;) .rodata 읽기 전용 데이터 (const char* msg = "Hello World";) 스택 영역 (지역 변수) https://www.inflearn.com/course/%EC%96%B8%EB%A6%AC%EC%96%BC-3d-mmorpg-1/dashboard [C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문 - 인프런 | 강의 C++ 카테고리의 글은 인프런 Rookiss님의 강의를 공부하며 정리하는 내용입니다..
비트 단위의 조작이 필요할 때 사용 (게임 데이터 등) 각 비트에 의미를 부여해서 boolean 처럼 사용 할 수 있다. Bit Flag ~ bitwise not 단일 숫자의 모든 비트를 대상으로 0은 1, 1은 0으로 뒤바꿈 & bitwise and 두 숫자의 모든 비트 쌍을 대상으로 and 연산 | bitwise or 두 숫자의 모든 비트 쌍을 대상으로 or 연산 ^ bitwise xor 두 숫자의 모든 비트 쌍을 대상으로 xor 연산 비트 우측 이동 시프트 비트열을 N만큼 오른쪽으로 이동 오른쪽으로 넘치는 N개의 비트는 버림 ※새로 생성되는 왼쪽의 비트는 부호 비트가 존재할 경우 부호 비트를 따라감※ 이외에는 0으로 생성됨 때문에 bit 단위로 무언가를 할 때에는 unsigned로 생성하는 것이 좋..
char : 알파벳 / 숫자 문자를 나타냄 wchar_t : 유니코드 문자를 나타냄 (문자열 앞에 유니코드 선언 L 표기 필요) ASCII : American Standard Code for Information Interchange) 작은 따옴표 사용 시 해당 문자에 맞는 아스키 코드가 저장됨 'a' + 1 => ASCII 기준 97 + 1 -> b 출력 unicode : 영어만으로 서비스 할 수는 없어서 전 세계 모든 문자에 대해 유일 코드를 부여한 것 유니코드에서 가장 많은 번호를 차지하는 언어 : 한국어, 중국어 UTF-8 알파벳, 숫자 1byte (ASCII 동일한 번호) 유럽 지역의 문자는 2byte 한글, 한자 등 3byte UTF-16 알파벳, 숫자, 한글, 한자 등 대부분 문자 2byte..
boolean : true or false 어셈블리에서는 bool 자체가 존재하지 않음 실수 == 부동소수점 부동 : 不x 浮o 소수점을 유동적으로 움직여서 표현하는 방법 float : 4byte (뒤에 f를 붙여줘야 인식됨) double : 8byte 유효숫자 * 지수 float : 부호(1bit) 지수(8bit) 유효숫자(23bit) == 32bit == 4byte double : 부호(1bit) 지수(11bit) 유효숫자(52bit) == 64bit == 8byte ex) 2진수 변환 1) -3.375 저장 2) 3 = 0b11 3) 0.375 = (정수에서 자릿수마다 2배씩 증가하였다면 소수점에서는 자릿수마다 2배씩 감소) 0.5 * 0 + 0.25 * 1 + 0.125 * 1 = ..
alt+8 -> 디스어셈블리 : 디버깅 상태에서 로우레벨까지 확인하고 싶을 때 ctrl + K + C(Comment) : 주석 ctrl + K + U(UnComment) : 주석 해제 .data 영역 : 0이 아닌 초기화 값이 있다면 .bss 영역 : 초기값이 0이거나, 초기값이 없는 변수라면 char : 1 byte (-128 ~ 127) short : 2byte (-32768 ~ 32767) int : 4byte (약 -21.4억 ~ 약 21.4억) __int64 == longlong : 8byte unsigned : 최상위 부호를 무조건 양수로 본다. unsigned char : 1 byte (0 ~ 255) unsigned short : 2byte (0 ~ 65536) unsigne..
Visual Studio : https://visualstudio.microsoft.com/ko/ 프로그램 실행: 또는 [디버그] > [디버깅하지 않고 시작] 메뉴 프로그램 디버그: 키 또는 [디버그] > [디버깅 시작] 메뉴 https://www.inflearn.com/course/%EC%96%B8%EB%A6%AC%EC%96%BC-3d-mmorpg-1/dashboard [C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문 - 인프런 | 강의 C++ 카테고리의 글은 인프런 Rookiss님의 강의를 공부하며 정리하는 내용입니다. 이미 알고 있는 내용도 다시 정리 되어있을 수 있습니다. 모든 글은 제가 공부하기 위해 작성합니다.