본문 바로가기
반응형

C/C++31

[C/C++] Vector 함수(push_back, emplace_back) 우선, push_back이나 emplace_back이나 모두 Vector의 마지막에 새로운 원소를 추가하기 위해 사용하는 함수이다. 하지만 완전히 같은 기능을 한다면 굳이 다른 이름의 함수가 2개나 있을 필요는 없었을테니 차이가 무엇인지 지금부터 알아보도록 하자. push_back push_back의 경우 Vector의 마지막에 새로운 원소를 추가하기 위해 임시 객체를 하나 만들어서 거기에 값을 복사 후, Vector에 삽입하는 과정을 거친다. 삽입이 끝나면 당연히 임시 객체 또한 파괴된다. 임시 객체를 생성한다는 것은 즉, 잠깐 쓰고 버릴 메모리를 굳이 할당해줘야 한다는 뜻이다. 또한, 임시 객체를 생성하고 파괴하는 과정에서 생성자와 소멸자가 호출되어 불필요한 연산이 생긴다. 1 2 vector vec.. 2022. 10. 5.
[C/C++] 가상함수 가상함수 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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 #include using std::cout; using std::cin; using std::endl; class Parent { public: Parent() { cout 2022. 9. 30.
[C/C++] TextRPG 파일 입출력 변환 - 전체 코드 : CppStudy/TextRPGWithFileIO at main · Modisc/CppStudy (github.com) - 전체 코드가 길고 여러 파일로 나누어져 있어서 전체 코드는 깃허브 링크로 대신하겠습니다. Player 플레이어의 정보를 파일 입출력을 이용해서 관리함으로써, 사용자가 이전에 하던 게임을 이어갈 수 있도록 설정하였습니다. SetPlayer 함수는 처음부터 플레이어를 설정해주는 코드여서 별다른 변화는 없습니다. 새롭게 추가한 사용자 정보를 불러오기 위한 LoadPlayer 함수와, 사용자 정보를 저장하는데 사용하는 SavePlayer 함수를 살펴보겠습니다 파일에 저장되어 있는 플레이어의 정보를 읽어들이는 코드입니다. 플레이어의 정보는 바이너리 파일로 저장되어 있습니다 f.. 2022. 9. 28.
[C/C++] 미로 + 크레이지 아케이드 파일 입출력 구현 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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 void SetMaze(char maze[21][21], Player* player, Point* startPos, Point* endPos) { // MazeList.txt 파일을 읽어와서 미로 목록을 만든다. .. 2022. 9. 27.
반응형