Visual Studio 2012'deki C ++ 11 özellikleri


94

Visual Studio 2012'nin bir önizleme sürümü (VS2010'dan sonraki sonraki sürüm) artık kullanılabilir .

Hangi yeni C ++ 11 özelliklerini desteklediğini bilen var mı? (Şu anda deneyecek konumda değilim).


18
Ve bir kez daha hayal kırıklığına uğradım. Şimdi GCC /
GDB'yi

3
GMan: Bence, yeni özelliklere sahip olmalarının oldukça şaşırtıcı olduğunu düşünüyorum, kesinlikle nereden geldiklerine bakılırsa (VC 6.0 ve titreme düşünün) ... Elbette, GCC'nin desteği şaşırtıcı, ancak başka pek çok yer var çok eksik ...
rubenvb

5
@rubenvn: Sadece meraktan soruyorum, KİK hangi yerlerde eksik?
HighCommander4

5
GCC, C ++ 11 desteğinden yoksun değil, hemen hemen uyumsuz. VC11 esprili bir şekilde eksik. Yakın bile değil.
987,

9
@ HighCommander4: GCC hangi yerlerde eksik? Hata ayıklama araçları.
user541686

Yanıtlar:


77

Visual Studio 2010'un zaten oldukça erken C ++ 11 desteğine sahip olduğunu belirtmek gerekir. Diğer yanıtlarda zaten neyle bağlantılı olduğunu özetlemek için, Visual Studio 2010'un parçası olmayan Visual Studio 11'deki yenilikler:

Erken Kasım 2012 yılında Microsoft açıkladı Visual C ++ Derleyici Kasım 2012 CTP fazla C ++ Visual Studio 2012-11 işlevselliği ekler:


20
Bu aslında oldukça hayal kırıklığı yaratıyor ... GCC'nin sırasıyla iki buçuk ve bir buçuk yıldır desteklediği çeşitli şablonlar ve tek tip başlatma umuyordum ...
HighCommander4

@Yüksek tek tip başlatma, spesifikasyondaki özellikler listesinde bile yok ("Hayır" ile bile görünmüyor). Bunun başka bir adı olabilir mi?
Joel Coehoorn

2
Güvenli yazdırma ve yazdırma işlevlerimi gerçekten çok seviyorum. Gerçekten 2011'in sonunda çeşitli şablonlar ekleyeceğini umuyordum. Eksik varyadikler de etkiliyor emplace_backve make_shared. Cl hakkında variadiklerin uygulanmasını özellikle zorlaştıran bir şey var mı?
deft_code

5
Herb Sutter ikinci Build oturumunda ( channel9.msdn.com/Events/BUILD/BUILD2011/TOOL-835T ) çeşitli şablonlar yapmaya çalıştıklarını ... denediklerini ve denediklerini ve bu sürüm için zamanında yapılmadıklarını söyledi. Bu, yapabilecekleri diğer şeyleri de etkiledi.
Kate Gregory

2
İşte C ++ 11'deki farklı derleyicilerin iyi bir karşılaştırması. wiki.apache.org/stdcxx/C++0xCompilerSupport İyi kural: GCC'de C ++ 11 kullanmayın ve VS2012'de derlenmesini bekleyin
Chris Hill

25

İşte yeni görsel stüdyo versiyonu özelliği listesidir ve burada tüm derleyiciler desteklemek ne listesi


2
Çok seçici olmamak gerekir, ancak ikinci bağlantınız x0 desteğini gösterir, 11 desteği değil.
N_A

Haklısınız, ancak yine de tüm derleyiciler ve uyguladıkları hakkında iyi bir genel bakış sağlıyor.
Drahakar

Net olmanın iyi olacağını düşündüm. Yararlı olduğuna katılıyorum.
N_A

1
Umarım bu bir
wiki'dir

2
Görünüşe göre yakın zamanda güncellendi (dünyaya sevinç ...) :)
Drahakar

6

Orada bir liste var . Beni en çok etkileyen şey hala eksik olan özellikler :

  • Öncelik olarak değişken şablonları uygulayacaklarını söylediler ve uygulamadılar.
  • Temsilci kurucular olmadığından, hala birçok sınıf için hareket oluşturucuları elle bildirmek zorunda kalacağız.
  • Kalıtım yapıcılar mevcut değildir ve bu, bazı kodlar için gerçekten gerekli olacaktır.
  • Tek tip başlatma yok, özellikle başlatıcı listesi yok. Bu, onları g ++ ile kullandığınızda berbattır.
  • Hala doğru iş parçacığı yerel depolama yok. Yani boost::thread_specific_ptrbir süre takılıp kaldın .

Henüz eksik olan diğer tüm özellikler, çoğunlukla onsuz yaşayabileceğiniz şeylerdir. Burada listelediklerim, VS10 ile çalışırken her gün beni rahatsız eden şey. Derleyici üzerinde hiç çalışmamaları çok rahatsız edici.

DÜZENLEME: Ayrıca şunu da ekleyeceğim emplace_back(standart kitaplık kapları için harika bir özellik) doğru şekilde uygulanmadı.


6
Çeşitli şablonları bir öncelik haline getirdiler. Bu nedenle, çeşitli şablonlar zamanında yapılmadığında, diğer dil özellikleri de yapılmadı. (Görünüşe göre, skunkworks serisi hariç.)
Kate Gregory

4
? Statik olmayan veri üye başlatıcıları olmadan gerçekten yaşayamam.
Trass3r

Değişken şablonlarla ilgili sorun, standardın çok geç değişmesi ve bu özelliği tamamen yeniden yapmak için yeterli zamanlarının olmamasıdır.
Ark-kun

5

Şubat 2012'de GoingNative'de STL, 29 Şubat'ta beklenen beta sürümünden başlayarak range-for'un VS11'de olacağını duyurdu. Konuşmanın bir kaydı mevcuttur. "Açığa Çıkarma" bir saat 38 dakika sınırında.




Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.