Visual Studio 2012의 C ++ 11 기능


94

이제 Visual Studio 2012 (VS2010 이후의 다음 버전)의 미리보기 버전을 사용할 수 있습니다 .

지원하는 새로운 C ++ 11 기능을 아는 사람이 있습니까? (나는 지금 그것을 시도 할 위치에 있지 않습니다).


18
그리고 저는 다시 한번 실망했습니다. 이제 ... 더 유창 GCC / GDB를 사용하는 방법을 알아낼
GManNickG

3
GMan : 새로운 기능에 대한 그들의 이해는 확실히 그들이 어디에서 왔는지 볼 때 꽤 놀랍습니다. 너무 부족 ...
rubenvb

5
@rubenvn : GCC가 부족한 곳은 어디입니까?
HighCommander4

5
GCC는 C ++ 11 지원이 부족하지 않으며 거의 ​​일치하지 않습니다. VC11은 유머러스하게 부족합니다. 가깝지도 않습니다.
987 S

9
@ HighCommander4 : GCC가 부족한 곳은 어디입니까? 디버깅 도구.
user541686

답변:


77

Visual Studio 2010에는 이미 초기 C ++ 11 지원이 상당히 많이 포함되어 있다는 점은 주목할 가치가 있습니다. 따라서 다른 답변에서 이미 연결된 항목을 요약하면 다음은 Visual Studio 2010에 포함되지 않은 Visual Studio 11의 새로운 기능입니다.

2012 년 11 월 초 Microsoft Visual Studio 2012에 더 많은 C ++ 11 기능을 추가 하는 Visual C ++ 컴파일러 2012 년 11 월 CTP를 발표했습니다 .


20
사실 꽤 실망 스럽네요 ... 저는 GCC가 각각 2 년 반과 1 년 반 동안 지원해 온 가변 템플릿과 균일 한 초기화를 기대하고있었습니다 ...
HighCommander4

@High 균일 한 초기화는 사양의 기능 목록에도 없습니다 ( "아니요"로 표시되지도 않음). 그것에 대한 다른 이름이 있습니까?
Joel Coehoorn 2011 년

2
나는 내 유형 안전 인쇄 및 printf 기능을 정말 좋아합니다. 2011 년에 마침내 가변 템플릿이 추가되기를 바랬습니다. 누락 된 variadics도 emplace_backmake_shared. cl에 대해 variadics를 구현하기 특히 어렵게 만드는 것이 있습니까?
deft_code 2011 년

5
Herb Sutter는 두 번째 빌드 세션 ( channel9.msdn.com/Events/BUILD/BUILD2011/TOOL-835T )에서 가변 템플릿을 시도했지만 시도했지만이 버전에서는 제때 완료되지 않았다고 말했습니다. 이것은 그들이 할 수있는 다른 일에도 영향을 미쳤습니다.
Kate Gregory

2
다음은 C ++ 11의 다양한 컴파일러를 비교 한 것입니다. wiki.apache.org/stdcxx/C++0xCompilerSupport 좋은 규칙은 : GCC에서 C ++ (11)를 사용하고 VS2012에서 컴파일 기대하지 않는다
크리스 힐

25

여기에 새로운 비주얼 스튜디오 버전의 기능의 목록이며, 여기에 모든 컴파일러 지원 것의 목록입니다


2
너무 까다 롭지는 않지만 두 번째 링크는 11 지원이 아닌 x0 지원을 보여줍니다.
N_A

당신 말이 맞지만 여전히 모든 컴파일러와 그들이 구현 한 것에 대한 좋은 개요를 제공합니다.
Drahakar

명확하게하는 것이 좋을 것이라고 생각했습니다. 유용하다는 데 동의합니다.
N_A 2011 년

1
바라건대,이 위키는, 누군가가 ^을 업데이트 할 수 있습니다 정보 ^.
Drahakar

2
글쎄, 그것은 최근에 업데이트 된 것 같습니다 (세계에 기쁨 ...) :)
Drahakar

6

거기에 목록 있습니다. 가장 눈에 띄는 것은 아직 누락 된 기능입니다 .

  • 그들은 가변 템플릿을 우선적으로 구현할 것이라고 말했지만 그렇지 않았습니다.
  • 위임 생성자가 없기 때문에 많은 클래스에 대해 이동 생성자를 직접 선언해야합니다.
  • 상속 생성자는 존재하지 않으며 이것은 실제로 일부 코드에 필요합니다.
  • 균일 한 초기화, 특히 이니셜 라이저 목록이 없습니다. g ++와 함께 사용하면 짜증납니다.
  • 여전히 올바른 스레드 로컬 저장소가 없습니다. 그래서 당신은 boost::thread_specific_ptr한동안 붙어 있습니다.

아직 누락 된 다른 모든 기능은 주로없이 살 수있는 것들입니다. 여기에 나열한 것은 VS10으로 작업 할 때 매일 저를 잔소리하는 것입니다. 너무 짜증나서 컴파일러에서 전혀 작동하지 않았습니다.

편집 : 또한 emplace_back(표준 라이브러리 컨테이너에 대한 한 가지 훌륭한 기능)이 올바르게 구현되지 않았 음을 추가합니다.


6
그들은 가변 템플릿을 우선 순위로 삼았습니다. 그렇기 때문에 가변 템플릿이 제 시간에 완료되지 않았을 때 다른 언어 기능도 완료되지 않았습니다. (스컹크 웍스 범위를 제외하고는.)
Kate Gregory

4
? 비 정적 데이터 멤버 이니셜 라이저 없이는 정말 살 수 없습니다.
Trass3r

가변 템플릿의 문제점은 표준이 너무 늦게 변경되어 해당 기능을 완전히 다시 실행할 시간이 없다는 것입니다.
Ark-kun

5

2012 년 2 월 GoingNative에서 STL은 2 월 29 일로 예상되는 베타 버전부터 VS11에 range-for가있을 것이라고 발표했습니다. 이야기의 녹음이 가능합니다. "The Reveal"은 1 시간 38 분에 있습니다.




당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.