본문 바로가기

전체 글540

[Modern C++] Chapter 06. delete GitHub : https://github.com/developeSHG/Modern-C/blob/a30dc0a22e2afcdb8ae81e9ca9e3f46fb125ab66/Modern%20C%2B%2B/Modern%20C%2B%2B/delete.cpp GitHub - developeSHG/Modern-C: Modern C++ Modern C++. Contribute to developeSHG/Modern-C development by creating an account on GitHub. github.com class Knight { private: // 정의되지 않은 비공개(private) 함수 void operator=(const Knight& k); // 하지만 외부에서만 막았을 뿐, private로.. 2023. 5. 22.
[Modern C++] Chapter 05. enum class GitHub : https://github.com/developeSHG/Modern-C/blob/a30dc0a22e2afcdb8ae81e9ca9e3f46fb125ab66/Modern%20C%2B%2B/Modern%20C%2B%2B/enum%20class.cpp GitHub - developeSHG/Modern-C: Modern C++ Modern C++. Contribute to developeSHG/Modern-C development by creating an account on GitHub. github.com // 주제 : enum class // unscoped enum (범위없는) enum PlayerType : char { Knight = 5, Archer, Mage } enum Monste.. 2023. 5. 22.
[Modern C++] Chapter 04. using GitHub : https://github.com/developeSHG/Modern-C/blob/a30dc0a22e2afcdb8ae81e9ca9e3f46fb125ab66/Modern%20C%2B%2B/Modern%20C%2B%2B/using.cpp GitHub - developeSHG/Modern-C: Modern C++ Modern C++. Contribute to developeSHG/Modern-C development by creating an account on GitHub. github.com // 주제 : using typedef vector::iterator VecIt; typedef __int64 id; using id2 = int; // 1) 직관성 // 예시. 함수포인터 typedef.. 2023. 5. 22.
[Modern C++] Chapter 03. nullptr GitHub : https://github.com/developeSHG/Modern-C/blob/a30dc0a22e2afcdb8ae81e9ca9e3f46fb125ab66/Modern%20C%2B%2B/Modern%20C%2B%2B/nullptr.cpp GitHub - developeSHG/Modern-C: Modern C++ Modern C++. Contribute to developeSHG/Modern-C development by creating an account on GitHub. github.com #include using namespace std; // 주제 : nullptr void Test(int a) { cout 2023. 5. 22.
[Modern C++] Chapter 02. 중괄호 초기화 { } GitHub : https://github.com/developeSHG/Modern-C/blob/a30dc0a22e2afcdb8ae81e9ca9e3f46fb125ab66/Modern%20C%2B%2B/Modern%20C%2B%2B/reset.cpp GitHub - developeSHG/Modern-C: Modern C++ Modern C++. Contribute to developeSHG/Modern-C development by creating an account on GitHub. github.com #include using namespace std; // 주제 : 중괄호 초기화 { } class Knight { public: }; int main() { // 중괄호 초기화 { } int a = 0.. 2023. 5. 22.
[Modern C++] Chapter 01. auto GitHub : https://github.com/developeSHG/Modern-C/blob/c0a9a3c764602da00777ac9b0f90a2c2a24061d0/Modern%20C%2B%2B/Modern%20C%2B%2B/auto.cpp GitHub - developeSHG/Modern-C: Modern C++ Modern C++. Contribute to developeSHG/Modern-C development by creating an account on GitHub. github.com #include #include #include // 주제 : auto class Knight { public: int _hp; } template void Print(T t) { cout 타이핑이 길어지.. 2023. 5. 22.
[Programmers] Lv 2. 피보나치 수 https://school.programmers.co.kr/learn/courses/30/lessons/12945 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr #include #include using namespace std; int solution(int n) { vector dp = { 0, 1 }; dp.resize(n + 1); for (int i = 2; i 2023. 5. 22.
[STL] algorithm 기존 문제점 예제를 하나씩 풀어봤는데, 가독성이 좋지 않다는 걸 알 수 있다. 코드는 굉장히 단순하지만, 그래도 분석하는데 최소 10초는 걸릴 수 있다고 생각할 수 있다. 또한 정형화된 패턴이 아니다보니 프로그래머 마다 스타일이 다를 수도 있다. 그래서 바로 보자마자 이해하기 어렵다. 더욱 큰 단점은 코드는 vector를 사용했기 때문에, 코드 내에선 특정 인덱스에 접근(v[i])하는 임의 접근 코드가 들어가있지만, 만약 삽입/삭제의 효율 때문에 list로 바꿔야 한다면 문법의 문제가 생길것이다. #include #include #include using namespace std; int main() { srand(static_cast(time(nullptr))); vector v; for (int i .. 2023. 5. 22.
[STL] set, multimap, multiset set #include #include #include #include using namespace std; 주제 : set, multimap, multiset int main() { // (key = value) set s; // 넣고 s.insert(10); s.insert(20); s.insert(30); s.insert(40); // 뺴고 s.erase(40); // 찾고 set::iterator findit = s.find(50); if (findit == s.end()) cout 2023. 5. 20.
[STL] map vector, list 문제점 #include using namespace std; class Player { public: Player() : _playerId(0) { } Player(int playerId) : _playerId(playerId) { } public: int _playerId; } int main() { vector v; // 10만명 입장 for (int i = 0; i < 100000; ++i) { Player* p = new Player(i); v.push_back(p); } // 5만명이 퇴장 for (int i = 0; i < 50000; ++i) { int randIndex = rand() % v.size(); Player* p = v[randIndex]; delete p.. 2023. 5. 19.