प्रदर्शन का लाभ फ़ाइल को फिर से खोलने के लिए नहीं है, जब #pragma एक बार पढ़ा गया हो। गार्ड के साथ, संकलक को यह जानकारी प्राप्त करने के लिए फ़ाइल को खोलना पड़ता है (जो समय में महंगा हो सकता है) कि इसमें फिर से शामिल नहीं होना चाहिए।
यह केवल सिद्धांत है क्योंकि कुछ संकलक स्वचालित रूप से उन फ़ाइलों को नहीं खोलेंगे जिनके पास प्रत्येक संकलन इकाई के लिए कोई रीड कोड नहीं है।
वैसे भी, यह सभी कंपाइलरों के लिए नहीं है, इसलिए आदर्श रूप से #pragma को एक बार क्रॉस-प्लेटफ़ॉर्म कोड के लिए टाला जाना चाहिए, यह बिल्कुल भी मानक नहीं है / इसकी कोई मानकीकृत परिभाषा और प्रभाव नहीं है। हालांकि, व्यावहारिक रूप से, यह वास्तव में गार्ड से बेहतर है।
अंत में, बेहतर सुझाव आप प्राप्त कर सकते हैं है कि आप इस मामले में प्रत्येक संकलक के व्यवहार की जांच किए बिना अपने कंपाइलर से सबसे अच्छी गति सुनिश्चित , एक बार प्रज्ञा और गार्ड दोनों का उपयोग करना है।
#ifndef NR_TEST_H
#define NR_TEST_H
#pragma once
#include "Thing.h"
namespace MyApp
{
// ...
}
#endif
इस तरह आपको दोनों (क्रॉस-प्लेटफ़ॉर्म और मदद संकलन गति) का सबसे अच्छा मिलता है।
जैसा कि यह टाइप करने के लिए लंबा है, मैं व्यक्तिगत रूप से एक बहुत ही विकी तरीके से (विजुअल असिस्ट एक्स) उत्पन्न करने में मदद करने के लिए एक उपकरण का उपयोग करता हूं।
#pragma once
वीएस 2008 में कुछ वर्ग दृश्य मुद्दों से बचने के लिए प्रतीत होता है। मैं शामिल गार्ड से छुटकारा पाने और#pragma once
इस कारण से उन सभी को बदलने की प्रक्रिया में हूं ।