मैं एक बड़ी परियोजना पर काम कर रहा हूं जो एसटीएल का उपयोग करता है और आपके एसटीएल #includes
को व्यवस्थित करने के आपके पसंदीदा तरीके के बारे में एक प्रश्न है।आप अपने एसटीएल हेडर कैसे व्यवस्थित करते हैं?
- क्या आप उस स्रोत फ़ाइल में प्रत्येक शीर्षलेख को शामिल करना पसंद करते हैं। उदाहरण के लिए, यदि
foo.cpp
औरbar.cpp
दोनोंstd::string
की आवश्यकता है, तो दोनों#include <string>
होंगे। - आप (अर्थात उन्हें एमएस 'stdafx.h' पूर्व संकलित हैडर के लिए जोड़) को एक ही हेडर फाइल है कि सभी एसटीएल हेडर अपनी परियोजना का उपयोग करता है शामिल किया जाना पसंद करते हैं।
पहली विधि का लाभ यह है कि .cpp फ़ाइल एक स्वतंत्र इकाई है और यह चिंता किए बिना एक अलग परियोजना में उपयोग किया जा सकता है कि आप #include
खो रहे हैं। दूसरी विधि के फायदे यह है कि आप अपने कंपाइलर्स प्री-कंपाइल हेडर सपोर्ट का उपयोग कर सकते हैं और आप pragmas
में एसटीएल #includes
को लपेट सकते हैं जो कुछ चेतावनियों को अक्षम करता है (उदाहरण के लिए, कुछ बूस्ट हेडर स्तर 4 पर संकलन करते समय चेतावनियां पैदा करेंगे)।
आप किस का उपयोग करना पसंद करते हैं?
उत्तर और पुस्तक की सिफारिश के लिए धन्यवाद। – Rob