Home
Night's Devlog
Cancel

[C++] default 와 delete 예약어

default 예약어 C++에서 생성자 오버로딩을 하면 컴파일러에 의한 디폴트 생성자는 생성되지 않습니다. 그래서 디폴트 생성자를 호출하려고 하면 컴파일 에러가 발생하는데요. class TEST { public: TEST(int); void PrintNum() const; private: int num = 0; }; TEST::TEST(...

[C++] 인라인(inline) 함수

인라인(inline) 함수에 대한 기본적인 이론을 설명하고 있습니다. __forceinline 같은 키워드는 고려하지 않았으니 참고 부탁 드립니다. 함수를 호출하면 함수 호출에 대한 오버헤드가 발생합니다. 매개변수 값들을 복사하거나 제어 흐름 변경에 따른 함수 선언 위치를 기억하기 위한 메모리 사용이라든지 코드에서는 보이지 않는 비용들...

[C++] 템플릿과 템플릿 특수화

클래스와 함수 둘 다 템플릿 사용이 가능합니다. 사용 방법에 대해서는 큰 차이가 없음으로 함수를 기반으로 설명하였습니다. 추가로, 기본적인 템플릿 사용만을 설명하였습니다! C#에서는 제너릭 C++에서는 템플릿이란 이름으로 비슷한 기능을 지원합니다 물론 기능적으로 비슷하다는 말이지 다른 점이 분명하니 MSDN에 정의된 내용을 참고하시면 ...

[C++] 범위 기반 for문

C++11에 범위 기반 for문이란 문법이 새로 생겼습니다. 저는 현재 C#을 주로 사용하기 때문에 처음 범위 기반 for문을 접했을 때 “그냥 foreach이네?”라고 생각했지만 새롭게 문법을 추가한 큰 이유를 알게 되었고 이에 대해 정리하였습니다. 1. 기존 for문의 문제점 우리가 for문을 사용하는 큰 이유는 일정 횟수만큼 특정 행위를 반...

[C++] 참조자 형식

1. 참조자 선언(==초기화) // 사용 방법 자료형& 인스턴스명 = 원본; // 사용 예시 int a = 5; int& b = a; 사용 방법은 위처럼 간단하다. 하지만 주의해야 할 점이 있는데 참조형식 인스턴스에 할당할 원본 데이터는 상수(r-value)이면 안된다는 점이다. 포인터도 동일하게 상수(r-value)에 ...

[C++] new 와 delete 연산자

C언어를 배운 개발자라면 malloc()과 free()를 사용해 보았을 것이다. C++에서도 malloc()과 free()를 사용할 순 있지만 C++에서는 동일한 기능을 좀 더 사용하기 쉽게 지원해주고 있다. 그것이 바로 new와 delete 연산자인데 malloc()과 free()와 동일하게 C++에서 new와 delete연산자는 객체를 동적 ...

[UE5 TPS 제작기] 13. 발사체(Projectile)를 이용한 총 쏘기 구현

2023-09-17. 코드 수정 0. 서론 총을 쏘는 FPS 또는 TPS 게임을 많이 해보았다면 총 쏘는 방식에 대해 크게 2가지로 나뉘어 있다는 걸 알 수 있는데요. 그 2가지는 아래와 같습니다. 발사체 방식 Raycast 방식 발사체 방식 발사체 방식을 사용하면 실제로 발사체(Ex. 총알)를 쏘는 것이기 때문에  ...

[UE] 충돌 체크 - OnComponentBeginOverlap vs NotifyActorBeginOverlap

언리얼 엔진에서 Overlap 기능으로 OnComponentBeginOverlap 방식과 NotifyActorBeginOverlap 방식이 있는데 둘 다 특정 객체가 Overlap 되었을 때 체크를 해주는 기능이다. 사용 방법을 먼저 확인해 보면 NotifyActorBeginOverlap  경우는 아래와 같다. 1. 사용 방법 NotifyAct...

[C#] "unsafe"로 포인터 사용하기

0. 서론 C#에서는 개발자가 포인터를 사용하지 못하도록 막고 있다. 그래서 포인터란 개념이 존재하지 않는데 이러다 보니 주소값을 확인하고 싶을 때 (예를 들어, 객체를 복사할 때 얕은 복사인지 깊은 복사인지) 방법이 없어 난감해진다. 이걸 알고 있는지 C#에서도 포인터 사용을 아예 막은 건 아닌데 어떻게 사용할 수 있는지 확인해 보자  1. ...

[UE5 TPS 제작기] 12. Line Trace를 이용한 총 쏘기 구현

2023-09-17. 코드 수정 0. 서론 총을 쏘는 FPS 또는 TPS 게임을 많이 해보았다면 총 쏘는 방식에 대해 크게 2가지로 나뉘어 있다는 걸 알 수 있는데요. 그 2가지는 아래와 같습니다. 발사체 방식 Raycast 방식 발사체 방식 발사체 방식을 사용하면 실제로 발사체(Ex. 총알)를 쏘는 것이기 때문에  ...