operators - C++में ऑपरेटर "" क्या है?




language-design (3)

वे उपयोगकर्ता-परिभाषित शाब्दिक हैं । वे आपको std::string , std::chrono::durations या किसी भी उपयोगकर्ता परिभाषित प्रकार (आप अपने स्वयं के शाब्दिक रूप से) को जगह में बना सकते हैं।

auto str = "Hello"s; // str is std::string("Hello")
auto sec = 5s;       // sec is 5 std::chrono::seconds

मानक पुस्तकालय द्वारा प्रदान किए गए शाब्दिक-संचालकों की सूची और उनके दस्तावेज़ीकरण से जुड़े दस्तावेज़ पृष्ठ के नीचे पाया जा सकता है।

मैं इस पृष्ठ पर गिर गया जहां लेखक ऑपरेटर के मानकीकरण के बारे में बात करता है "" :

operator "" को मानकीकृत करने के लिए C ++ मानक समिति का निर्णय operator "" था [...]

क्या वह / वह बात कर रहा है? मुझे इस बारे में कोई जानकारी नहीं मिल रही है, और मुझे समझ नहीं आ रहा है कि इसका क्या मतलब हो सकता है (निरंतर तारों के लिए अधिभार? या कुछ अधिक वैचारिक, जो भाषा के अंतिम उपयोग को प्रभावित नहीं करता है?)



??! एक trigraph जो अनुवाद करता है | । तो यह कहता है:

!ErrorHasOccured() || HandleError();

जो, लघु सर्किटिंग के कारण, इसके बराबर है:

if (ErrorHasOccured())
    HandleError();

सप्ताह का गुरु (सी ++ से संबंधित है लेकिन यहां प्रासंगिक है), जहां मैंने इसे उठाया।

टिप्पणियों में ट्रिग्राफ की संभावित उत्पत्ति या @ डीडब्ल्यूबी के मुताबिक ईबीसीडीआईसी मुश्किल (फिर से) होने की वजह से अधिक संभावना है। आईबीएम डेवलपरवर्क बोर्ड पर This चर्चा उस सिद्धांत का समर्थन करने लगती है।

आईएसओ / आईईसी 98 99: 1 999 §5.2.1.1 से, फुटनोट 12 (एच / टी @ रैंडम 832):

ट्राग्राफ अनुक्रम उन वर्णों के इनपुट को सक्षम करते हैं जिन्हें आईएसओ / आईईसी 646 में वर्णित इनवेरिएंट कोड सेट में परिभाषित नहीं किया गया है, जो सात-बिट यूएस ASCII कोड सेट का सबसेट है।







c++ operators language-design