C++ - atomic compare_exchange_weak/strong 함수

출처 C++11 표준 라이브러리의 atomic 조작 함수 compare_exchange_weak와 compare_exchange_strong에 대한 메모. 두 함수 모두 변수의 atomic한 CAS(compare-and-swap) 작업을 제공한다. weak 버전과 strong 버전의 동작 사양은 weak 버전에서는 “교환 가능한 경우라도 CAS 조작 실패 할 가능성이 있다(spurious failure)”가(* 1), strong 버전에서는...
더 읽기

C++ - flags. 프로그램 실행 시의 인자를 파싱하는 라이브러리

C++17로 표준으로 구현. 헤더 파일 1개로 구성. 저장소: https://github.com/sailormoon/flags 라이센스: 퍼블릭도메인(완전 마음대로 사용 가능) 예제 #include "flags.h" void ParseConfig(int argc, char* argv[]) { const flags::args args(argc, argv); const auto ip = args.get<std::string>("ip"); if (!ip) { std::cerr << "No IP. :("...
더 읽기