2016-05-02 8 views
8

Stroustrup उसकी GSL (दिशानिर्देश समर्थन लाइब्रेरी) के बारे में बात करते हैं पिछले साल दे दी है। माइक्रोसॉफ्ट द्वारा https://github.com/Microsoft/GSL पर एक कार्यान्वयन किया गया है। मैं इस धारणा के तहत था कि जीएसएल को खराब कोडिंग शैली पर सलाह देना था, और सुधार का सुझाव देना था।सी ++ जीएसएल दिशानिर्देश क्या हैं?

इस उद्देश्य से, मैं MSFT के GSL स्थापित किया है और एक सी ++ फ़ाइल बनाई:

#include <stdio.h> 
#include <gsl.h> 

int main() 
{ 
     int *i = new int; 
     puts("hello world"); 
} 

और Makefile का उपयोग कर इसे बनाया:

msft : msft.cc 
     g++ -std=gnu++14 -I ../../src/GSL/include $^ -o [email protected] 

.PHONY : clean 
clean : 
     rm -f msft 

जाहिर है, वहाँ की वजह से कोड में एक संसाधन रिसाव है "नया" द्वारा।

तो अब मैं उलझन में हूँ।

  • क्या GSL के लिए वास्तव में "do" माना जाता है?
  • मैं कहाँ स्रोत कोड चेकर कि दिशानिर्देश पालन न करने की चेतावनी दी है मिल सकता है? स्ट्रॉस्ट्रप का मतलब यह था कि यह वास्तव में एक उपकरण के रूप में मौजूद है, लेकिन क्या यह मामला है?
+0

अच्छी तरह से, कम से कम वे ईमानदार हैं .. "एक मंच मानता है जो सी ++ 14 समर्थन लागू करता है। एमएसवीसी 2013 और 2015 का समर्थन करने के लिए विशिष्ट कार्यवाही हैं।" निष्पक्ष होना करने के लिए, मेरी समझ C++ 11 वे पूरी तरह से अपने पूरे संकलक के पुनर्निर्माण के लिए है समर्थन करने के लिए है ... लेकिन यह 5 साल हो गया है और वे अभी भी मौलिक कमियों की है। अभिव्यक्ति sfinae? समर्थित नहीं। – xaxxon

+1

मुझे विश्वास नहीं है कि यह बंद उचित था। यह सवाल पूछ रहा है कि जीएसएल का उपयोग कैसे करें, जो एक बिल्कुल अच्छा स्टैक ओवरफ्लो प्रश्न है। यह केवल गुजर में एक उपकरण के लिए एक सिफारिश के लिए पूछता है, पिछले बुलेट बिंदु है, जो तुच्छता से हटाया जा सकता है में। –

उत्तर

2

आपको CppCoreGuidelines में सुझाए गए अनुसार उनका उपयोग करना होगा।

, उन्हें पढ़ें समझते हैं कि यह कैसे अपने codebase/प्रोग्रामिंग आदतों/समस्याओं पर लागू होता है।

विजुअल स्टूडियो 2015 plugins जो अपने कोड GSL

0

के अनुसार अच्छी तरह से बर्ताव करता है अगर आप जांच करने के लिए मदद है Guidelines Support Library (यह भी देखें gsl-lite एक विकल्प के रूप में) एक सी ++ पुस्तकालय है कि कार्य करता है और कक्षाओं में सिफारिश के कुछ लागू करता है C++ Core Guidelines। आधुनिक सी ++ का उपयोग करने के बारे में सलाह के साथ एक दस्तावेज़। यदि आप सी ++ के उपयोग में सुधार करना चाहते हैं तो यह सी ++ कोर दिशानिर्देशों पर सार्थक पढ़ने या स्किमिंग करना है। जीएसएल लाइब्रेरी का उपयोग करना कम महत्वपूर्ण है, लेकिन यदि आप स्वयं को उस कोड को कार्यान्वित कर रहे हैं जो पहले से ही है, तो उपयोगी हो सकता है। सी ++ कोर दिशानिर्देश अब कुछ सालों से आसपास रहे हैं, इसलिए स्ट्रिंग_व्यू जैसी कुछ चीजें पहले से ही उपलब्ध हैं (सी ++ के किस संस्करण के साथ आप संकलित कर रहे हैं) के आधार पर और बाहरी लाइब्रेरी का उपयोग करने की आवश्यकता नहीं है।

संबंधित मुद्दे