Visual Studio 2015 - auto 반환 타입 및 thread_local 예약어 지원(C++ 11 표준)
Visual Studio 2013의 C/C++ 컴파일러에서는 다음의 경우,
auto GetT()
{
return 1;
}
"error C3551: expected a trailing return type" 컴파일 오류가 발생합니다. 또한 thread_local 예약어를 쓰면,
void T()
{
thread_local int t;
}
"error C2065: 'thread_local' : undeclared identifier"라는 컴파일 오류가 발생합니다.
하지만, (CTP기준) Visual Studio 2015에서는 해당 구문을 모두 정상적으로 컴파일합니다.
auto GetT()
{
thread_local int t;
t = 50;
return 1;
}
위의 2가지 기능에 대해 회사 동료가 물어본 것인데... 지원된다는 소식에 반가워하는 군요. ^^ (C++ 11에 있던 표준을 이제서야 지원하는 것이 좀 아쉽긴 합니다.)
그런데, __cplusplus의 값은 여전히 199711을 반환한다는 사실에 쪼끔 실망했습니다.
int _tmain(int argc, _TCHAR* argv[])
{
printf("%d", __cplusplus); // 199711
return 0;
}
CTP 딱지를 떼고 정식 버전의 Visual Studio 2015가 나왔을 때는 바뀔지 모르겠지만!
[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]