728x90
반응형

C++ 32

6. Operators (연산자)

1. Assignment Operator (대입 연산자) C++의 연산자는 대부분 binary operator이다 (2개의 피 연산자로 연산하는 연산자), unary operator는 1개의 피연산자로 연산하는 연산자이다, ternary operator는 3개의 피연산자로 연산하는 연산자이다 대입연산자(assignment)는 객체에 값을 대입해 값을 수정/대입하는 연산자이다 (값에는 literal값뿐 아니라 객체(변수), 긴 수학식도 가능하다) 대입연산자는 =으로 사용한다 (equal의 의미가 아님), 오른쪽의 값을 왼쪽의 변수로 대입한다는 의미이다 (타입이 맞지 않으면 컴파일에러 발생) (값을 변수의 메모리 위치에 저장하는 개념이다) const변수는 대입연산자로 값을 대입할 수 없다 (const(상수)..

C++ 2023.12.12

5. Array And Vector

1. What is an Array? Array (배열)이란 복합 데이터 타입 or Data Structure이다 -> 배열은 다른 데이터 타입으로 만들어진 데이터 타입이다 ex) 정수들로 만들어진 배열은 정수타입 배열이다 배열의 모든 요소들은 같은 타입이어야 한다, 각 요소들에 직접 접근할 수 있다 (배열 요소들의 위치 인덱스를 이용한다) 배열은 같은 타입의 데이터들 여러개를 관리하기 쉽게 하기 위해서 사용한다 ex) 100명의 시험점수를 관리할 때 -> 1개씩 변수로 만들어 관리하면 컨트롤하기 힘드며 실수가 발생할 확률이 높다 배열은 원하는 만큼의 요소들을 제공하고 하나의 이름으로 관리한다 (각각의 요소에 이름을 붙히지 않는다) 배열의 크기는 고정되어 있다 (한번 사이즈를 정해서 만들면 저절로 변하지..

C++ 2023.12.09

4. Variables and Constants

1. What is a Variable 변수는 메모리 위치의 추상화이다 (실질적으로 데이터는 특정 메모리 위치에 존재하고 변수가 이를 추상화 한다) 변수는 값을 나타내는 의미있는 이름을 사용하게 해준다 변수는 타입과 값으로 구성된다, 타입은 변수가 저장할 수 있는 값의 타입을 의미하며 값은 변수에 들어갈 값이다 변수는 사용전에 반드시 선언되어야 한다 (static typing -> 런타임에 선언되지 않고 미리 선언된 걸 컴파일할 때 실행한다) 프로그램이 실행되며 변수의 값은 변할 수 있다 2. Declaring and Initializing Variable 변수 선언은 타입 변수이름;으로 선언한다 int는 정수, double은 실수, string은 문자열 타입이며 C++에서는 사용자 정의 타입도 만들어 ..

C++ 2023.12.07

5. Actor Class & Debug(2)

1. Drawing Debug Sphere Draw Debug Sphere : 디버그용 구체를 그릴 수 있다 구체의 중심 위치 (FVector), 반지름 (float), 분할개수 (int32), 선 색 (FColor), 지속시간 (float), 구체 선 두께 (float) 들로 인자가 이루어져 있다 Get Actor Location : 원하는 Actor의 RootComponent위치를 (FVector) 가져온다 모든 Actor들이 가지고 있는 함수이다 #include "DrawDebugHelpers.h" //Debug 관련 함수 사용시 필요한 헤더파일 void AItems::BeginPlay() { Super::BeginPlay(); UWorld* World = GetWorld(); //Actor가 이 ..

Unreal 2023.12.05

4. Actor Class & Debug(1)

1. Actor Creation Actor는 Level에 배치하거나 스폰할 수 있는 오브젝트의 기본 클래스이다 C++클래스를 생성할 때 부모클래스를 선택할 수 있다 이때 Actor Class를 선택하면 Actor를 상속받는 클래스를 만들 수 있다 Actor뿐만 아니라 수많은 엔진 클래스를 상속받을 수 있다 ex) Pawn, Character, UserWidget... 그 후 Next로 Class이름, 경로를 설정하면 된다 이와 같이 Solution탐색기에서 확인이 가능하다 이때 Build.cs파일은 프로젝트에 포함되는 모듈을 제어한다 아래는 ActorClass를 상속받았을 때 자동으로 생성되는 함수들이다 #pragma once //.h파일을 포함할 때 한번만 포함되도록 보장해주는 전처리 지시문이다 #in..

Unreal 2023.12.05

3. Structure of a C++ Program

1. 전처리 장치 / 지시문 (Preprocessor) C++의 전처리 장치 (Preprocessor)는 컴파일러가 보기전에 모든 주석을 제거하고 소스코드를 준비 하는 장치이다 전처리 지시문은 #으로 시작하며 해당 명령을 실행한다 전처리 장치는 C++을 이해하지 못한다 단지 지시사항을 실행하고 컴파일러에 맞는 소스코드를 준비시킨다 (컴파일러는 C++을 이해하는 장치)#include //가장 흔하게 사용되는 #include 전처리 지시문 (iostream파일을 include하라는 명령) #include "CPPStudy.h" #if #elif #else #endif #ifdef #ifndef #define #undef #line #error #pragma이처럼 많은 전처리 지시문들이 존재한다 2. 주석 (..

C++ 2023.11.22

3. Reflection System

1. Reflection System 기본 C++에는 Reflection기능이 없지만 UE에는 내장되어 있다 Refelection 시스템이란 원하는 데이터를 BP에 노출시킬 수 있게 하는 기능, Garbage Collection (GC)로 메모리 할당/해제를 자동으로 해주는 기능 (더 이상 사용되지 않는 Object의 메모리를 자동으로 해제한다), 직렬화, 네트워크 리플리케이션 등의 기능이다 대표적인 Reflection 매크로에는 UENUM(), USTRUCT(), UCLASS(), UPROPERTY(), UFUNCTION()등이 있다 Reflection을 적용하기 위해서는 Class 헤더파일에 “클래스명.generated.h”가 include 되어야 한다 (자동생성) 이 헤더가 있어야 Reflectio..

Unreal 2023.11.18

2. Vector & Rotator & Trigonometry

1. Vector X,Y축 2차원 평면에서 시작점과 끝점이 있는 화살표를 2차원 벡터라고 부른다 (시작점(5,5), 끝점(20,20)) 벡터는 방향과 크기를 가진다 (Direction, Magnitude) 이때 크기는 벡터의 길이다 위의 벡터는 (15,15)로 나타낼 수 있다 (시작점에서 끝점까지 X축 15, Y축 15 이동이 필요하기 때문이다)) 이를 쉽게 계산하기 위해서는 끝점의 X와 시작점의 X를 빼고 끝점의 Y와 시작점의 Y를 빼주면 된다 이 두개의 벡터는 같은 벡터이다 (벡터는 크기와 방향에 의해서만 정의되기 때문이다) 시작점과 끝점이 반대가 되면 벡터의 축 부호를 반대로 해주면 된다 ex) 위의 벡터가 반대로 된다면 (-5,-10)이 된다 3차원 벡터도 2차원 벡터 계산과 같은 방식으로 가능하..

Unreal 2023.11.18
728x90
반응형