작은 걸음 VI — C++로 성장하기

창을 정리한 뒤 런타임 끝내기

창을 정리한 뒤 런타임 끝내기

이번에 배울 것

런타임은 창·소리 같은 실행 기능을 지원하는 기반입니다. 그 기능을 쓰는 객체를 먼저 정리한 뒤 기반을 종료해야 합니다.

실행해 보기

예제 · example2.cpp
#include <small.h>

int main(int argc, char* argv[])
{
    Small::initialize_small(argc, argv);

    {
        Small::Window window;
        window.set_title("Real main()");
        window.open(500, 300);

        while (window.is_open())
        {
            window.clear(Small::Black);
            window.draw_text(30, 80, "This is ordinary C++ main()");
            window.show();
        }
    } // Destroy Window before shutting down the runtime.
    Small::shutdown_small();
    return 0;
}

안쪽 중괄호 범위가 끝나면 Window 객체가 정리됩니다. 그 뒤 shutdown_small을 호출합니다. 창을 닫는 것과 객체 수명이 끝나는 것은 다릅니다.

argc와 argv는 명령줄로 전달된 정보를 받는 형태입니다. 이번은 선택 심화입니다. 포인터 표기를 지금 모두 외울 필요는 없습니다.

Exercise — argc와 argv 넘기기

#include <small.h>와 int main(int argc, char* argv[])를 작성하고 argc, argv를 Small::initialize_small에 전달한 뒤 argc를 출력하고 프로그램을 끝내기 전에 Small::shutdown_small()을 호출하세요.

연습 문제 코드 · exercise2_starter.cpp
#include <small.h>

int main(int argc, char* argv[])
{
    // Initialize Small with argc and argv.
    // print argc, then shut Small down before returning.

    return 0;
}

Hint

Small::initialize_small(argc, argv); 다음에 Small::print("argc: ", argc);를 사용하고 return 0; 전에 Small::shutdown_small();을 호출하세요.

풀이 보기
#include <small.h>

int main(int argc, char* argv[])
{
    Small::initialize_small(argc, argv);

    Small::print("argc: ", argc);

    Small::shutdown_small();
    return 0;
}
← 이전 레슨다음 레슨 →