[c++ 14] deprecated

C++/Tips / / 2021. 6. 11. 16:34

1. deprecated

=> 사용되지 않는 함수에 대해 사용함

=> 컴파일 타임에 표시되는 메세지를 지정할 수 있음

=> _declspec(deprecated) func 처럼 사용

=> 혹은 #pragma deprecated(func)로도 사용

=> 혹은 [[deprecated(text)]] func 로도 사용

#include<iostream>
using namespace std;

#define TEXT "안쓰는함수에용"
_declspec(deprecated) void func1(int) {}
_declspec(deprecated("안쓰는함수")) void func2(int) {}
_declspec(deprecated(TEXT)) void func3(int) {}

int main()
{
	func1(1);
	func2(1);
	func3(1);
	return 0;
}

#include<iostream>
using namespace std;

void func1(int) {}
void func2(int) {}
void func3(int) {}

int main()
{
	func1(1);
	func2(1);
	func3(1);
#pragma deprecated(func1, func2, func3)
//이 아래로는 실행X 4995
	func1(1);
	func2(1);
	func3(1);
	return 0;
}

#include<iostream>
using namespace std;

[[deprecated]] void func1(int) {}
[[deprecated("Will be removed")]] void func2(int) {}
[[deprecated]] void func3(int) {}

//다만 이경우에는 deprecated("TEXT")부분에서 TEXT에 한글을 넣으면 아래 메세지에 뜨지 않는 오류가 있다(vs2017기준)

int main()
{
	func1(1);
	func2(1);
	func3(1);

}

 

'C++ > Tips' 카테고리의 다른 글

[C++] Casting  (0) 2021.06.15
[C++] initialization  (0) 2021.06.14
[c++ 11]Range based for  (0) 2021.06.10
[c++]Overloading vs Overriding  (0) 2021.06.04
깊은복사(Deep Copy) vs 얕은복사(Shallow Copy)  (0) 2021.05.31
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기