목록언리얼 개발자/C++ (13)
연습장
주제: 함수 1. 함수(프로시저, 메소드, 루틴) 1)input으로 무엇을 받고 output으로 무엇을 뱉을지 정해줘야 한다. 2) 반환타입 함수이름([인자타입 매개변수) { 함수내용 return ~~; } [Hello World를 출력하는 함수 만들기] input 없음 / output 없음 (인풋 없으면 생략 가능 타입: int float ~ 타입 없으면 void void형일 경우 리턴 생략 가능하다. 굳이 넣는다면 return; 이라고 표기하면 된다. void PrintHelloWorld() { cout
주제: 정수의 상수화 3가지 열거형 1) const를 붙여준다. const int SCISSORS = 1; const int ROCK = 2; const int PAPER = 3; => 각자 따로 노는 느낌이 든다. 경우에 따라 갯수가 많을 경우 하나씩 늘리기엔 부담이 된다. 메모리 공간이 낭비된다. 2) enum 숫자를 지정 안 하면 첫 값은 0부터 시작한다 그 다음 값들은 이전 값에서 +1을 한다. 이름도 지어줄 수 있다. 좀 더 좋은 방법 enum ENUM_SRP { SCISSORS, ROCK, PAPER } #이 붙은건 '전처리 지시문' 이라고 한다. 전처리란? 1단계 전처리, 2단계 컴파일, 3단계 링크 #include 이라는 파일을 찾아서 해당 내용을 그대로 복붙해주세요. #define DEF..
입력 int input; cin >> input; 출력 cout
주제: 반복문 1. while문 while문: 한 번만 실행하는게 아니라 특정 조건까지 계속 반복해야 하는 상황일 때 ex) 유저가 게임을 끌때까지 계속 게임을 실행하라 / 목적지에 도달할 때 까지 계속 이동하라. while (조건식) { 명령문 } [ "Hello World"문 5번 출력 ] int main(){ int count = 0; while (count
주제: 분기문 지금까지 데이터를 메모리에 할당하고 가공하는 방법에 대해 알아보았다. 가공한 데이터를 이용해서 무언인가를 하고 싶다면 어떻게 해야할까? [몬스터 공격 - 몬스터의 체력에 따른 상황] 1) 참고: if (isDead == false)와 ! isDead는 동일한 의미를 가지고 있다. (코딩 스타일에 따라 다르지만 조건이 늘어날 경우에는 == false가 더 가독성이 좋음) if문 int main(){ int hp = 100; int damage = 100; hp -= damage; bool isDead = (hp
주제: 유의사항 및 팁 1. 변수의 유효범위 1) 외부에 선언 된 전역변수는 유효범위가 존재하지 않고, 언제 어디에서든 편하게 꺼내쓸 수 있다. #include using namespace std; int hp = 10; // 외부에 선언: 전역변수 int main(){ } 2) 문제가 발생하는 경우는 함수 내부에서 변수를 만들어 사용할 때 유효범위가 복잡해진다. 스택에 들어가 있는 변수는 { } 중괄호의 범위가 변수의 생존 범위이다. #include using namespace std; int main(){ int hp = 10; // 내부에 선언: } 3) 혹시라도 같은 이름을 두 번 사용할 때 문제가 발생한다. ex) int i나 int hp 또는 int count가 빈번하게 사용됨 #include..
주제: const와 메모리 구조 const - constant의 약자인 const (변수를 상수화 한다고 한다.) - 한 번 정해지면 절대 바뀌지 않을 값들에 const를 붙여준다. - const를 붙였으면 초기값을 반드시 지정해줘야 한다. - 보통 바뀌지 않는 값은 대문자로 지정해준다. - 코드의 가독성이 높아진다. #include using namespace std; unsigned char flag; const int AIR = 0; //공중부양상태 const int STUN = 1; //스턴상태 const int POLYMORPH = 2; //변이상태 const int INVINCIBLE = 3; //무적상태 int main(){ flag = (1
주제: 비트 연산과 비트 플래그 비트 연산 비트연산이 언제 필요한가? 사용 빈도가 높진 않지만 아주 가끔 사용된다. 비트 단위의 조작이 필요할 때 (게임 서버에서 아이디를 만들 때 비트플래그(대표적) ~ bitwise not 단일 숫자의 모든 비트를 대상으로 0은 1, 1은 0 모든 비트를 거꾸로 뒤집는다. & bitwise and 두 숫자의 모든 비트 쌍을 대상으로 and를 한다. 두 숫자가 1이면 1 | bitwise or 두 숫자의 모든 비트 쌍을 대상으로 or를 한다. 둘 다 0이 아니면 1 ^ bitwise xor 두 숫자의 모든 비트 쌍을 대상으로 xor을 한다. 두 숫자가 같으면 0 다르면 1 같은 숫자 두개를 xor 연산 해주면 모든 비트가 0000 0000 으로 나온다. 비트 시프트 > ..