विजुअल स्टूडियो 2012 में C ++ 11 सुविधाएँ


94

विजुअल स्टूडियो 2012 का एक पूर्वावलोकन संस्करण (VS2010 के बाद अगला संस्करण) अब उपलब्ध है

क्या किसी को पता है कि नई C ++ 11 सुविधाओं का समर्थन करता है? (मैं फिलहाल इसे आज़माने की स्थिति में नहीं हूँ)।


18
और मैं एक बार फिर निराश हूं। अब यह जानने के लिए कि GCC / GDB का अधिक धाराप्रवाह उपयोग कैसे किया जाता है ...
GManNickG

3
GMan: मुझे लगता है कि नई सुविधाओं पर उनका उत्थान बहुत आश्चर्यजनक है, निश्चित रूप से देखने के लिए कि वे कहाँ से आ रहे हैं (लगता है कि VC 6.0 और कंपकंपी) ... निश्चित रूप से, GCC का समर्थन आश्चर्यजनक है, लेकिन इसके अलावा भी बहुत सारे स्थान हैं कमी भी ...
15

5
@rubenvn: बस जिज्ञासा से बाहर, किन जगहों पर जीसीसी की कमी है?
HighCommander4

5
CCC 11 के समर्थन में GCC की कमी नहीं है, यह बहुत अधिक है। VC11 में हास्य की कमी है। यह करीब भी नहीं है।
987 एस

9
@ HighCommander4: किन जगहों पर जीसीसी की कमी है? डिबगिंग उपकरण।
user541686

जवाबों:


77

यह ध्यान देने योग्य है कि विज़ुअल स्टूडियो 2010 में पहले से ही शुरुआती सी ++ 11 का काफी समर्थन था। तो यह बताने के लिए कि पहले से ही अन्य उत्तरों में क्या जुड़ा हुआ है, यहाँ विज़ुअल स्टूडियो 11 में नया क्या है जो विज़ुअल स्टूडियो 2010 का हिस्सा नहीं था:

नवंबर 2012 की शुरुआत में, Microsoft ने Visual C ++ कंपाइलर नवंबर 2012 CTP की घोषणा की , जो Visual Studio 2012 में अधिक C ++ 11 कार्यक्षमता जोड़ता है:


20
यह वास्तव में काफी निराशाजनक है ... मैं वैरेडिक टेम्प्लेट और यूनिफॉर्म इनिशियलाइज़ेशन की उम्मीद कर रहा था, जिसे जीसीसी क्रमशः ढाई साल और डेढ़ साल से सपोर्ट कर रहा है ...
हाईकमांडर 4

@ उच्च वर्दी इनिशियलाइज़ेशन कल्पना में उनकी विशेषताओं की सूची पर भी नहीं है ("नहीं" के साथ भी नहीं दिखता है)। क्या इसका कोई दूसरा नाम है?
जोएल कोएहॉर्न

2
मुझे वास्तव में अपने प्रकार के सुरक्षित प्रिंट और प्रिंटफ़ फ़ंक्शन पसंद हैं। मैं वास्तव में उम्मीद कर रहा था कि 2011 अंत में वैरेडिक टेम्प्लेट जोड़ देगा। गुम चर भी प्रभाव डाल रहा है emplace_backऔर make_shared। क्या सीएल के बारे में कुछ ऐसा है जो विशेष रूप से वैरेडिक्स को लागू करना कठिन बनाता है?
deft_code

5
हर्ब सटर ने अपने दूसरे बिल्ड सेशन ( channel9.msdn.com/Events/BUILD/BUILD2011/TOOL-835T ) में कहा कि उन्होंने वेरिएडिक टेम्प्लेट करने की कोशिश की ... कोशिश की और वे इस संस्करण के लिए समय पर नहीं किए गए। इससे प्रभावित हुए कि वे और क्या कर सकते थे।
केट ग्रेगोरी

2
यहाँ C ++ 11 पर विभिन्न संकलक की एक अच्छी तुलना है। wiki.apache.org/stdcxx/C+0xCompilerSupport अच्छा नियम: GCC में C ++ 11 का उपयोग न करें और इसे VS2012 में संकलन करने की अपेक्षा करें
Chris Hill

25

यहां नए विज़ुअल स्टूडियो संस्करण की विशेषता की सूची दी गई है और यहां सभी कंपाइलरों का समर्थन करने की सूची है


2
बहुत अशिष्ट नहीं होना चाहिए, लेकिन आपका दूसरा लिंक x0 समर्थन को 11 समर्थन नहीं दिखाता है।
N_A

आप सही हैं, लेकिन यह अभी भी सभी कंपाइलरों और उनके द्वारा लागू किए गए कार्यों का एक अच्छा अवलोकन प्रदान करता है।
द्राकर

बस सोचा था कि स्पष्ट होना अच्छा होगा। मैं इसके उपयोगी से सहमत हूं।
N_A

1
उम्मीद है, यह एक विकी है, किसी ने सूचित किया कि इसे अपडेट करना चाह सकते हैं। ^
द्राकर

2
ठीक है, ऐसा लगता है कि इसे हाल ही में अपडेट किया गया है (दुनिया के लिए खुशी ...) :)
ड्रॉकर

6

वहां एक सूची है । जो सबसे ज्यादा मुझे प्रभावित करता है, वह है जो अभी भी गायब है :

  • उन्होंने कहा कि वे एक प्राथमिकता के रूप में वैरेडिक टेम्पलेट्स को लागू करेंगे और उन्होंने ऐसा नहीं किया।
  • हमें अभी भी कई वर्गों के लिए हाथ से निर्माण करने की घोषणा करनी होगी, क्योंकि कोई प्रतिनिधि निर्माणकर्ता नहीं है।
  • इनहेरिटिंग कंस्ट्रक्टर मौजूद नहीं हैं, और यह वास्तव में कुछ कोड के लिए आवश्यक होगा
  • कोई यूनिफ़ॉर्म इनिशियलाइज़ेशन नहीं, विशेष रूप से कोई इनिशियलाइज़र सूची में नहीं। यह बेकार है जब आप उन्हें जी ++ के साथ उपयोग किया है।
  • फिर भी कोई सही धागा स्थानीय भंडारण नहीं है। तो आप boost::thread_specific_ptrथोड़ी देर के लिए फंस गए हैं ।

अन्य सभी विशेषताएं जो अभी तक गायब हैं, वे मुख्य रूप से सामान हैं जिनके बिना आप रह सकते हैं। मैं यहाँ क्या सूचीबद्ध करता हूं, वीएस 10 के साथ काम करने के दौरान मुझे हर रोज क्या नाग मिलता है। यह सिर्फ इतना परेशान करने वाला है कि उन्होंने कंपाइलर पर काम नहीं किया।

संपादित करें: मैं यह भी जोड़ूंगा emplace_back(मानक पुस्तकालय कंटेनरों के लिए एक महान विशेषता) सही ढंग से लागू नहीं है।


6
उन्होंने वैरेडिक टेम्प्लेट को प्राथमिकता दी। इसीलिए, जब समय में वैरेडिक टेम्प्लेट नहीं किए गए, तो अन्य भाषा सुविधाएँ नहीं मिलीं। (सिवाय, जैसा कि यह बाहर निकलता है, स्कंकवर्ट्स रेंज-फॉर के लिए।)
केट ग्रेगरी

4
? मैं वास्तव में गैर-स्थैतिक डेटा सदस्य शुरुआती के बिना नहीं रह सकता।
ट्रैस 3r

वैरेडिक टेम्प्लेट के साथ समस्या यह है कि मानक बहुत देर से बदल गया और उनके पास उस सुविधा को पूरी तरह से फिर से तैयार करने के लिए पर्याप्त समय नहीं था।
आर्क-कुन

5

फरवरी 2012 में GoingNative के दौरान, STL ने घोषणा की कि रेंज-फॉर VS11 में बीटा के साथ शुरू होगा, जो कि 29 फरवरी को होने की उम्मीद है। एक बात की रिकॉर्डिंग उपलब्ध है। "द रिवील" एक घंटे 38 मिनट के निशान पर है।




हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.