[[deprecated]]

Yongs12 ㅣ 2025. 1. 26. 20:02

C++14부터 도입된 속성으로 더이 상 사용하지 않거나 곧 제거될 함수 변수 타입에 적용해 사용을 경고하도록 컴파일러에 알릴 수 있다.

프로젝트 경고 수준에 따라 경고 또는 컴파일 에러를 띄운다.

기존 코드를 남겨두되 대체 기능으로 유도할 때 사용한다.

 

 

예시

#include <iostream>

// 반환형 옆에 붙이면 이 함수를 쓰면 경고 발생
[[deprecated]] void OldFunc()
{
    std::cerr << "오래된 함수 호출\n";
}

// 메시지를 달아 경고 문구를 상세히 지정 가능
[[deprecated("새로운 함수로 대체할 것")]]
void OldFunc2()
{
    std::cerr << "오래된 함수 호출\n";
}

int main()
{
    OldFunc();     // 컴파일 경고: ‘OldFunc’ is deprecated
    OldFunc2();    // 컴파일 경고: ‘OldFunc2’ is deprecated: 새로운 함수로 대체할 것
    return 0;
}

 

'C, C++' 카테고리의 다른 글

[[maybe_unused]]  (0) 2025.01.31
[[noreturn]]  (0) 2025.01.27
<mutex>  (0) 2024.02.22
<atomic>  (0) 2024.02.21
<thread>  (0) 2024.02.20