더북(TheBook)

1.5.2.2 아무것도 반환하지 않기

각 함수는 문법적으로 반환할 것이 아무것도 없는 경우에도 뭔가를 반환해야 한다. 이 딜레마는 void라는 타입을 통해 해결할 수 있다. 예를 들어 x를 출력하는 함수는 무언가를 반환할 필요가 없다.

void print_x(int x)
{
    std::cout << "The value x is " << x << ‘\n;
}

void는 실제 타입이 아니라 값 반환을 생략할 수 있는 자리 표시자(placeholder)다. 따라서 void 개체를 정의할 수 없다.

void nothing;    // 오류: void 개체를 정의할 수 없다.

void 함수는 인수가 없는 return을 통해 보다 일찍 종료할 수 있다.

void heavy_compute(const vector& x, double eps, vector& y)
{
    for (...) {
        ...
        if (two_norm(y) < eps)
            return;
    }
}
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.