// 복사 와 이동을 모두 삭제한 간단한 구조체. (호출 여부를 체크하는 역할) std::once_flag init_flag; void init(int a, double d) { std::cout << "init" << std::endl; } void foo() { // call_once 실행중에 다른 쓰레드가 들어온다면 끝날때까지 기다린다. std::call_once(init_flag, init, 10, 3.4); }