std::vector의 정렬된 상태를 유지하며 원소 삽입하기 template void insert_sorted(C &v, const T &item) { const auto insert_pos (lower_bound(begin(v), end(v), item)); v.insert(insert_pos, item); } 프로그래밍/Morden C++ 2022.06.20
정렬되지 않은 std::vector에서 요소를 O(1) Time에 삭제하기 template void quick_remove_at(std::vector &v, std::vector::iterator it) { if (it != std::end(v)) { *it = std::move(v.back()); v.pop_back(); } } 프로그래밍/Morden C++ 2022.06.20
[작성중]MYSQL Connector 8.0 C++ 빌드하기 Release 버전은 문제가 없었는데 Debug용은 Oracle에서 제공하는 Connector와 프로젝트에서 사용중인 런타임 라이브러리 옵션이 맞지 않아 MYSQL Connector 소스를 가지고 빌드를 해야되는 경우가 생겼다. (공식 홈페이지에서 제공하는건 /MD와 /MDd 뿐) 준비물은 다음과 같다. 1. MYSQL Connector C++ Source https://downloads.mysql.com/archives/c-cpp/ 2. CMake-GUI https://cmake.org/download/ 3. OpenSSL https://github.com/openssl/openssl 윈도우 버전 빌드: https://kb.firedaemon.com/support/solutions/articles/40.. DB/MYSQL 2022.05.19
C++ Connector 사용시 conntect 함수에서 std::bad_alloc 발생 C++ Connector를 사용해 MYSQL에 연결하려고 하는 경우 connect()를 try ~ catch해보면 std::bad_alloc exception이 발생하는 경우가 있다. 현재 실행하는 애플리케이션 빌드 타입과 MYSQL lib 타입을 확인해보자. MYSQL에서는 일반 lib와 Debug용 lib를 별도로 제공하고 있다. release 버전을 debug 버전에서 참조해 쓰면 std::bad_alloc이 발생한다. DB/MYSQL 2022.05.13