कुछ बिंदु पर सबसे अधिक संभावना समय में, या कुछ परिस्थितियों में यह रूप में (उदाहरण के लिए, MSVC के तहत) परिभाषित किया गया था:
#define IDATA_EXPORT __declspec(dllexport)
जिसका उपयोग लाइब्रेरी से सार्वजनिक रूप से निर्यात करने के लिए कक्षाओं को इंगित करने के लिए किया गया था।
मैक्रो का उपयोग करना, डेवलपर, कक्षाएं निर्यात और कुछ भी निर्यात नहीं के बीच वैकल्पिक सकता है प्रत्येक व्यक्ति के वर्ग पर जाने के लिए बिना।
इस बार कोई मैक्रो पैटर्न जो आयात और निर्यात कक्षाएं, कोड एक कार्यक्रम पुस्तकालय पर निर्भर है से पुस्तकालय से संकलित किया गया है, या के आधार पर के बीच alternates का हिस्सा है। यह तो कुछ ऐसा दिखाई देगा:
#ifdef IS_LIBRARY // <--this would only be defined when compiling the library!
#define IDATA_EXPORT __declspec(dllexport)
#else
#define IDATA_EXPORT __declspec(dllimport)
#endif
अधिक जानकारी के लिए, dllexport, dllimport on MSDN
यह एक मैक्रो कि कुछ भी नहीं करने के लिए फैलता है। तो ऐसा लगता है कि यह कभी अस्तित्व में नहीं था। –
और कक्षा की परिभाषा में इसकी क्या भूमिका है? – SnuKies
[डुप्लिकेट] (http://stackoverflow.com/q/37487907/3233393), लेकिन वह 2 पर है। – Quentin