Visual Studio 2012のC ++ 11機能


94

Visual Studio 2012のプレビューバージョン(VS2010以降の次のバージョン)が利用可能になりました

それがサポートする新しいC ++ 11機能を誰かが知っていますか?(私は現時点でそれを試すことができません)。


18
そして、私はもう一度失望しています。次に、GCC / GDBをより流暢に使用する方法を理解します...
GManNickG

3
GMan:新しい機能への取り込みは驚くべきものだと思います。確かに、それらがどこから来ているのかを考えると(VC 6.0と震えると思います)...確かに、GCCのサポートは驚くべきものですが、他にもたくさんの場所があります。あまりにも不足しています...
rubenvb

5
@rubenvn:好奇心から、GCCのどこに欠けているのですか?
HighCommander4 2011年

5
GCCはC ++ 11のサポートを欠いているわけではありません。VC11は滑稽に欠けています。それも近くありません。
987 S

9
@ HighCommander4:GCCはどこに欠けていますか?デバッグツール。
user541686 2013年

回答:


77

Visual Studio 2010にはすでにかなりの初期C ++ 11サポートがあったことは注目に値します。他の回答ですでにリンクされているものを要約すると、Visual Studio 2010の一部ではなかったVisual Studio 11の新機能は次のとおりです。

Microsoft 2012年11月初旬に、Visual C ++ 11の機能をVisual Studio 2012に追加するVisual C ++ Compiler November 2012 CTPを発表しました 。


20
それは実際にはかなりがっかりです...私は可変テンプレートと均一な初期化を望んでいました
。GCC

@Highの統一された初期化は、仕様の機能のリストにもありません( "No"で表示されることもありません)。おそらく別の名前がありますか?
Joel Coehoorn、2011

2
タイプセーフのprint関数とprintf関数が大好きです。2011年にようやくVariadicテンプレートが追加されることを本当に望んでいました。行方不明の欠落も影響emplace_backしていmake_sharedます。ヴァリアディクスの実装を特に困難にするclについて何かありますか?
deft_code

5
ハーブサッターは、2回目のビルドセッション(channel9.msdn.com/Events/BUILD/BUILD2011/TOOL-835T)で、可変テンプレートを実行しようとしました...試してみましたが、このバージョンに間に合うように行われていません。これは彼らができる他のことにも影響を与えました。
ケイトグレゴリー

2
以下は、C ++ 11でのさまざまなコンパイラーの良い比較です。wiki.apache.org/stdcxx/C++0xCompilerSupport良いルール:GCCでC ++ 11を使用せず、VS2012でコンパイルすることを期待する
Chris Hill

25

ここでは、新しいVisual Studioのバージョンの機能のリストであり、ここですべてのコンパイラがサポートするもののリストです


2
うるさくなりすぎないようにしてください。ただし、2番目のリンクは、x0のサポートではなく11のサポートを示しています。
N_A

あなたは正しいですが、それでもすべてのコンパイラとそれらが実装したものの概要がわかります。
ドラハカール2011

明確にするのが良いと思っただけです。その有用性に同意します。
N_A '14

1
うまくいけば、それはwikiであり、誰かがそれを更新したいと思うかもしれない^。^
Drahakar

2
まあ、それは最近更新されたようです(世界に喜び...):)
Drahakar

6

そこにリストがあります。最も印象に残っているのは、まだ欠けている機能です。

  • 彼らは、可変部テンプレートを優先的に実装するだろうと述べたが、そうしなかった。
  • 委任コンストラクターがないため、多くのクラスではmoveコンストラクターを手動で宣言する必要があります。
  • 継承コンストラクターは存在せず、これは一部のコードで実際に必要になります
  • 統一された初期化、特に初期化リストはありません。これは、g ++でそれらを使用した場合に問題になります。
  • それでも正しいスレッドローカルストレージはありません。だからboost::thread_specific_ptrしばらくの間立ち往生しています。

まだ不足している他のすべての機能は主にあなたがなくても生活できるものです。私がここに挙げているのは、VS10で作業するときに毎日私を悩ますものです。とてもイライラしていて、コンパイラーでまったく機能しませんでした。

編集:私はまた追加しますemplace_back(標準ライブラリコンテナーの1つの優れた機能)が正しく実装されていません。


6
彼らは、可変テンプレートを優先しました。そのため、可変テンプレートが時間内に実行されなかった場合、他の言語機能も実行されませんでした。(ただし、結局のところ、skunkworksの範囲については例外です。)
ケイトグレゴリー

4
?非静的データメンバーの初期化子なしでは、私は本当に生きられません。
Trass3r

可変テンプレートの問題は、標準の変更が遅すぎて、その機能を完全にやり直す時間がないことです。
アークくん

5

2012年2月のGoingNativeの期間中、STLはrange-forがVS11に含まれることを発表しました。ベータ版は2月29日と予想されています。講演の記録が可能です。「The Reveal」は1時間38分です。




弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.