2016-11-08 17 views
0

저는 C++로 프로그램을 작성하고 있으며, 한 부분에서는 1 초 동안 프로그램을 잠자기하고 싶습니다. 플랫폼 독립적 인 다음 식을 사용하고 있습니다 :별칭 식의 가장 좋은 방법

std::this_thread::sleep_for(std::chrono::duration<int, std::milli>(1000)); 

이 줄은 너무 길어서 별칭을 사용하고 싶습니다. 이것을 달성하는 가장 좋은 방법은 무엇입니까?

+0

이미 일부 [도우미 타입]이 있습니다 (http://en.cppreference.com/w/cpp/chrono/duration#Helper_types) 지속 시간에 대해 : 작성할 수 있습니다. 물론 짧은 이름으로 밀리 초 단위로 값을 취하고'sleep_for '를 호출하는 함수를 만들 수도 있습니다. –

+6

함수로 묶으시겠습니까? 'void sleep() {std :: this_thread :: sleep_for (std :: chrono :: duration (1000));}'기본 인수로 매개 변수를 추가 할 수 있습니다. 때때로. –

+1

사용자 정의 리터럴도 사용할 수 있습니다. – DeiDei

답변

4

당신이> = C++ (14)가 문자 크로노 도우미를 사용하는 경우.

using namespace std::chrono_literals; 
std::this_thread::sleep_for(1s); 
std::this_thread::sleep_for(1min); 
0

다른 사람들이 제안한 것처럼, 해당 동작의 "별칭"을 원할 경우 해당 기능을 작성할 수 있습니다. usingstd::chrono의 헬퍼하지만, 먼 길을 갈 수 있습니다

using std::chrono::seconds; 
using std::this_thread::sleep_for; 
⋮ 
sleep_for(seconds(1));