std::ifstream stream("FilePath.ini", std::ios::binary) // 매개변수로 들어간 경로에 해당하는 파일을 열어 바이트 스트림으로 쭉 읽어온다 파일에서 원하는 위치(바이트)에서 값 가져오기 stream.seekg(0); // 파일 포인터를 맨 앞으로 stream.seekg(5, std::ios::beg); // 파일의 맨 앞에서 부터 5바이트 번째로 파일 포인터를 옮김 stream.seekg(3, std::ios::cur); // 현재의 파일 포인터 위치에서 부터 3바이트 번째로 파일 포인터를 옮김 stream.seekg(5, std::ios::end); // 파일의 맨 끝에서 부터 3바이트 이전으로 파일 포인터를 옮김 원하는 만큼 바이트 읽어오기 char buf[4..
set 정렬 됨, 값 하나만 갖음, 내부구조 트리 경우의 탐색 O(logN) map 정렬 됨, 키와 값을 갖음, 내부구조 트리 경우의 탐색 O(logN) multiset 정렬 됨, 값 하나만 갖음, 내부구조 트리 경우의 탐색 O(logN), 중복 원소 허용 multimap 정렬 됨, 키와 값을 갖음, 내부구조 트리 경우의 탐색 O(logN), 중복 원소 허용 unordered_set (해시함수) 정렬되지 않음, 값을 갖음, 내부구조 트리 경우의 탐색 O(1) unordered_map (해시함수) 정렬되지 않음, 키와 값을 갖음,내부구조 트리 경우의 탐색 O(1)
클래스를 상속받았고 업캐스팅이 되었을 때 어떤 함수를 콜 하는지 알 수 있음 하나의 이름으로 여러작업을 할 수 있는 다형성 가능 런타임 시 컴퓨터 입장에서 어? virtual 가 붙어있네? 이거 실제 객체 맞어? 맞네 어? virtual 가 붙어있네? 이거 실제 객체 맞어? 아니네 다른 놈이네 이렇게 컴파일 단계에서 어떤 함수가 실행될 지 정해지지않고 런타임 시에 정해지는 것을 동적 바인딩 class Parents { virtual void Function() { std::cout
가상 메모리란 운영체제가 물리적 메모리를 하나의 메모리 구조로 볼 수 있도록 해주는 것 가상 메모리가 없다면 "아! 이 변수는 캐쉬 36번지에 저장해야 할 텐데" "오! 이 연산 결과는 램 1024번지에 저장해야 하겠군" 가상 메모리가 있다면 "이 연산결과는 0x01240번지에 저장이 됩니다." 여기서 16진수로 표현된 주소 값 0x1240은 당연히 가상 메모리의 주소이다. 가상 메모리를 나누는 기준 코드 영역 : 실행할 프로그램의 코드를 올려 놓을 공간 데이터 영역 : 프로그램이 종료될 때까지 유지해야 할 데이터를 저장할 공간 (전역변수, static) 스택 영역 : 아주 잠깐 사용하고 삭제할 데이터의 저장공간 (지역변수, 매개변수가 저장 됨) 힙 영역 : 프로그래머가 원하는 방식으로 쓸 수 있는 공간..
핵심 C++에서 함수의 이름은 함수의 메모리 주소 그 자체를 가리킨다. 형식 : 리턴타입(* 객체이름)(매개변수타입 매개변수이름); 함수 포인터 변수 선언의 예 int FunctionA(int arg) { return 0; } int main() { int (* pFunction)(int); pFunction = FunctionA; pFunction(5); } 함수 포인터를 매개변수로 받는 함수의 예 int FunctionA(int (*pFunction)(int)) { pFunction(N); } 함수 포인터를 리턴하는 함수의 예 int (*Function(int nNum))(void) { return AddPorc; } int main() { int (*pFunction)(void); pFunction..
핵심 pragma는 컴파일러에게 그 뒤에 오는 내용에 따라 어떤일을 하라는 전처리 명령이다. pragma once 한번 컴파일 되면 더 이상 컴파일 하지 않는다. 여러개의 cpp파일이 있을때, 하나의 cpp파일이 수정되면, 그 파일만 컴파일하고 나머지는 하지 않는다 보통 .h파일의 최상단에 한번 언급한다. pragma comment(lib, "ws2_32") 컴파일 시 ws2_32.lib 파일을 링크하라는 명령. 보통 VS같은 IDE개발환경에서는 프로젝트 속성에서 해주는 경우가 있지만, 환경이 바뀔때를 대비해서 사용 pragma pack(n) 위에서, n의 값으로 1,2,4,8 등이 올 수 있으며 특히 네트워크통신쪽을 개발할때 구조체의 맴버들을 align할때 사용하는 것이다 상세 설명 : https://..
- Total
- Today
- Yesterday
- c++
- Lambda
- c++11
- 람다
- UE4
- 람다함수
- C
- UE5
- bug
- coordinate system
- double free
- rotator
- LambdaFunction
- unrealengine
- Trouble shooting
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |