일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- Multiplay
- listen server
- Aegis
- animation
- gas
- gameplay tag
- 게임 개발
- 언리얼 엔진
- widget
- 언리얼엔진
- photon fusion2
- Unreal Engine
- 게임개발
- rpc
- os
- level design
- local prediction
- unity
- ability task
- attribute
- C++
- stride
- 보안
- 유니티
- UI
- gameplay effect
- CTF
- MAC
- gameplay ability system
- Replication
- Today
- Total
목록C++ (5)
Replicated
기본 원칙1. 기본 클래스의 생성자가 먼저 호출됨2. 그 후 멤버 객체들의 생성자가 호출3. 마지막으로 파생 클래스의 생성자 본문이 실행 #include using namespace std;class Base {public: Base() { cout 출력:Base constructor Derived constructor 생성자 초기화 리스트와 기본 클래스class Base {public: Base(int x) { cout 파생 클래스 생성자는 기본 클래스 생성자를 초기화 리스트에서 명시적으로 호출 가능* 기본 클래스에 기본 생성자 없으면 파생 클래스는 명시적으로 생성자 호출 필수 생성자의 상속class Base {public: Base(int x) { cout Derived d(10)..
class Base {public: void sayHello() { std::cout sayHello(); // Base::sayHello() ptr->greet(); // Derived::greet() ← virtual 덕분에 동적 바인딩}sayHello -> 정적 바인딩 => 컴파일 타임에 결정greet -> 런타임에 동적으로 호출 가상 함수 테이블 (vtable)- 클래스에 하나라도 virtual 있음 => vtable 생성- 객체는 해당 클래스의 vptr(가상 테이블 포인터) 소유- 가상 함수 호출: vptr을 따라간 뒤 vtable에서 함수 포인터를 통해 호출* 추가적인 포인터 참조이기에 성능 오버헤드는 있음 override와 finaloverride: 안써도 작동은 하..
항목L-valueR-value의미좌측 값우측 값특징메모리 주소가 있음(참조 가능)메모리 주소가 없음(임시 값)사용 위치대입문의 왼쪽 또는 오른쪽보통 대입문의 오른쪽예시변수, 참조, 배열 요소 등리러털, 임시 객체, 계산 결과 등수정 가능 여부일반적으로 수정 가능수정 불가능 int a = 10;a = a + 5;a -> L-valuea + 5 -> R-value int z = 10;int* p = &(z + 1) => 오류 .. z + 1은 R value라 주소가 없음 R-value Reference (C++ 11 ~)void foo(int&& r){ ~}foo(10);-> Move semantics, perfect forwarding 가능 Move semantics- 불필요한 복사 최소화- 자원의 ..
일단 C++ 덱은 연속된 메모리 블록을 안 씀1. 고정 크기의 배열 블록 여러개2. 블록들을 가리키는 포인터 배열블록 -> 블록 -> 블록 -> .. 이런 방식인데포인터0 -> 블록0포인터1 -> 블록1 이런식으로 가리킴 그리고 요소 접근 시 다음과 같은 연산1. 인덱스를 블록 크기로 나눈 몫2. 인덱스를 블록 크기로 나눈 나머지이렇게 접근 그냥 inode 접근 스럽다
언리얼 엔진은 파스칼 케이싱이 기본UnrealEngine OunrealEngine Xunreal_engine X 각 단어의 첫번째 글자는 대문자, 언더스코어 사용 안함타입 이름에는 추가적으로 대문자 접두사 포함- 템플릿 클래스 T- UObject 상속 U- AActor 상속 A- SWidget 상속 S- 추상적 인터페이스 클래스 I- 열거형 E- 부울 변수는 b 사용 (ex. bIsActed)- 그 외 대부분 클래스는 F 포함 (일반적인 클래스, 구조체) typedef는 적합하게.. 구조체면 F 붙이고 UObject면 U 붙이고* 특정 템플릿 인스턴스화의 typedef는 더 이상 템플릿이 아니며 다음과 같이 알맞은 접두사를 붙여야 함typedef TArray FArrayOfMyTypes;- 부울을 반환하..