티스토리 뷰

728x90
반응형

 

3편: MSLEEP, SSLEEP – 간단한 Sleep 매크로 정의하기

C++에서는 스레드를 잠시 멈추기 위해 std::this_thread::sleep_for를 사용하는 것이 일반적입니다.
하지만 매번 std::chrono::milliseconds() 를 타이핑하는 건 지저분하고 반복적이죠.

📌 목표: 더 읽기 쉽고, 반복을 줄이며, 명확한 단위 구분이 가능한 슬립 매크로 정의

🛠️ 매크로 정의

#ifndef MSLEEP
#define MSLEEP(var) { std::this_thread::sleep_for(std::chrono::milliseconds((var))); }
#endif

#ifndef SSLEEP
#define SSLEEP(var) { std::this_thread::sleep_for(std::chrono::seconds((var))); }
#endif

이 매크로들은 각각 밀리초(ms), 초(s) 단위로 슬립을 간단하게 표현할 수 있도록 도와줍니다.

📋 사용 예시

#include <iostream>
#include <thread>
#include "SleepMacros.hpp"  // 위 매크로가 정의된 헤더

int main() {
    std::cout << "3초 대기 중..." << std::endl;
    SSLEEP(3);
    std::cout << "다시 실행됨!" << std::endl;

    MSLEEP(500); // 0.5초 대기
    std::cout << "마무리." << std::endl;
    return 0;
}

💡 장점

  • 단위(millisecond/second)가 명확해 가독성 향상
  • 코드가 짧고 직관적으로 변함
  • 시간 단위 실수를 줄일 수 있음

⚠️ 주의할 점

  • 헤더에서 #include <thread>, #include <chrono>를 반드시 포함해야 함
  • 매크로는 단순 텍스트 치환이므로, 표현식이 복잡할 경우 괄호 위치에 유의

✅ 요약

매크로 기능
MSLEEP(x) x 밀리초 동안 슬립
SSLEEP(x) x 초 동안 슬립

🔚 마무리 한 줄 요약

코드는 짧게, 의미는 명확하게. MSLEEPSSLEEP 매크로로 여러분의 sleep 코드를 정리해보세요. 😴
728x90
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함
반응형