C++11 의 알기 쉬운 키워드로 auto  가 있다. 하지만 C++11에서는 데이터를 선언할때만 auto를 쓸수 있고 함수반환값에서는 사용이 안되었다. 

 

하지만 C++14로 오면서 이부분이 해결되었다.

 

int TestNum()			//C++11
{
	return 10;
}

auto TestNumAuto()		//C++14
{
	return 10;
}

위와같이 return 타입을 auto로 하여도 컴파일러가 데이터 타입을 유추하여 타입을 지정한다.

 

하지만 몇가지 오류는 조심해야한다.

 

auto TestErr(int nNum)		// return 타입이 int 타입과 double 타입이 존재하여 오류
{
	if(nNum > 10)
    	return 0;
	return 0.0;
}


auto Recursion(int nNum)	//재귀 함수 호출시 첫 return 에서 데이터 형식을 유추 할수없어 오류
{
	if(nNum > 10)
    	return Recursion(nNum - 1);
    return nNum;    
}

 

 

decltype는 주어진 변수의 타입을 알려주는 키워드로 기본적인 구조는 다음과 같다.

	auto a = 100;		
	auto* b = &a;
	auto k = 100;

	decltype(a) c = 50;		//변수 a의 타입인 int
	decltype(b) d = &k;		//변수 b의 타입인 int*

 

 

해당 키워드는 auto로 return 되어 데이터 형식의 구분이 어려울때 사용하면 유용하게 쓸수 있을꺼 같다.

 

:
BLOG main image
by 한그릇더

공지사항

카테고리

분류 전체보기 (30)
C++ (16)
C# (0)
시스템프로그램이 (2)
Android (0)
리눅스 (2)
Etc (8)
Meanstack (1)

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

태그목록

글 보관함

달력

«   2025/05   »
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 31
Total :
Today : Yesterday :