목록전체 글 (276)
나만의 작은 도서관
열거형이란?열거형(Enumerations)은 열거자(enumerator)라 불리는 정수 상수 집합으로 구성된 사용자 정의 형식을 말한다.enum 키워드C언어에서 넘어온 열거형 키워드이다. 사용법은 아래와 같다.enum [identifier] [: type] {enum-list}// identifier: 열거형에 지정된 형식 이름 ⇒ 변수 이름// type: 열거자(enumerator)의 타입. 모든 열거자는 해당 타입으로 표현된다. 모든 “정수” 계열 타입이 가능하다.// enum-list: 열거자가 쉼표로 구분된 리스트. 범위에 있는 모든 열거자의 이름은 고유해야 하지만, 값은 중복될 수 있다. // 지역 변수와 같이 선언된 범위 내에서만 살아있다.// ex.enum A : int {ZERO..
배경여기저기 코드를 보다 보면 class의 전유물이라고 생각했던 기능들이 struct에서 멀쩡히 돌아가는 경우를 종종 보았다. 이것도 돼? 저것도 돼? 하며 놀란적이 한두 번이 아닌데, 이번 시간에는 struct가 어디까지 가능한지 알아보도록 한다. C++에서 struct와 class는 맥락상 동일하다.매우 충격적인 결과지만 사실이다. 유일한 차이점으로 기본 접근 지정자(Access specifier)가 struct은 public, class는 private이다. 이거 말곤 전부 똑같다. (어셈블리 언어로 변환해서 봐도 완전히 동일한 구조를 가지고 있다.) 아래 코드에서의 MyStruct와 MyClass는 기본 접근 지정자만 다를뿐 완전히 같다.#include using namespace std;stru..

static이 붙은 변수, 정적 변수변수는 자신이 정의된 범위(중괄호로 표현됨)를 벗어나면 파괴된다. 즉, 변수가 선언된 중괄호를 벗어나는 순간, 변수의 생명 주기가 끝나면서 사라지게 된다.하지만 변수가 static이 붙은 정적 변수라면 자신이 선언된 범위를 벗어날 때 사라지는 것이 아닌 프로그램이 종료될 때 사라진다. 아래 코드를 통해 정적 변수가 범위를 벗어나도 값이 유지되어 함수를 호출할 때마다 증가하는 것을 볼 수 있다.+) 참고로 함수 내에 정적 변수가 존재할 경우, 정적 변수의 초기화는 함수가 처음 호출될때 단 한 번만 이루어진다.#include using namespace std;void func1(){ static int n = 0; // func1() 최초 호출 시에만 실행(초기화 ..

배경:갑작스러운 디버깅 오류VSCode에서 C++을 사용할 때 매번 경로나 설정 때문에 문제가 많았다. 이번에도 어김없이 잘 쓰던 VSCode가 컴퓨터 설정을 잘못 만져서 그런지 한글이 깨져서 나오기 시작했다. 게다가 한글 경로가 포함된 파일을 디버깅하려고 시도하면 한글이 깨진 경로로 다른 파일이 열리게 된다.(깨진 한글 경로 파일은 당연히 없기 때문에 열리기만 하고 "파일을 편집기에서 열 수 없습니다"만 떠있다) 해결법: Beta: 세계 언어 지원을 위한 Unicode UTF-8 사용 체크이전에 Visual Studio 2022에서 콘솔에서 한글이 깨지는 문제와 빌드시 아래와 같은 오류가 발생하는 것을 해결하기 위해 체크를 해제했던 적이 있다. error C2855: '/source-charset' 명..

문제 발생 상황 한글이 포함된 경로에서 C++로 설정한 언리얼 프로젝트를 실행하니 프로젝트가 열리지 않았다. 그래서 한글이 포함되지 않은 경로로 언리얼 프로젝트들이 들어있는 폴더를 옮겼는데, 최근 프로젝트에 프로젝트들이 인식되지 않는 문제가 발생했다.해결법1. C:\Users(user)\AppData\Local\UnrealEngine\5.1\Saved\Config\WindowsEditor로 이동해서 EditorSettings.ini를 찾는다. +) AppData폴더는 숨겨진 파일이므로 보이지 않는다면 숨긴 항목을 체크하면 보인다. 2. EditorSettings.ini를 텍스트 편집기(메모장이나 vscode등...)로 열어서 "CreatedProjectPaths="를 찾는다. 찾았다면 프로젝트들이 들어..

문제 발생 상황 언리얼 엔진 5.2를 C++로 프로젝트를 만들었더니 화면이 뜬 지 얼마 안 가, 위 그림처럼 오류가 뜨면서 프로그램이 꺼지는 문제가 발생했다. 해결법 1. 언리얼 프로젝트 폴더 -> Config -> DefaultEngine.ini파일을 찾아서 텍스트 편집기(메모장, vscode등)로 연다. 2. DefaultEngine.ini 파일 수정 텍스트 편집기를 통해 열어보면 아래와 같은 사진처럼 되어있는데, 여기서 아래 설정을 찾는다.DefaultGraphicsRHI=DefaultGraphicsRHI_DX12 해당 설정을 다음과 같이 변경하면 해결된다.DefaultGraphicsRHI=DefaultGraphicsRHI_DX11