मैंने नियम पढ़ा है।
static_cast & lt; New_type & gt; (अभिव्यक्ति)
... ...
5) यदि अभिव्यक्ति के प्रकार के लिए new_type से एक अंतर्निहित रूपांतरण अनुक्रम मौजूद है, इसमें lvalue-to -वर्तमान, सरणी-टू-पॉइंटर, फ़ंक्शन-टू-पॉइंटर, नल पॉइंटर, रिक्त सदस्य पॉइंटर, या बूलियन रूपांतरण, फिर static_cast उस अंतर्निहित रूपांतरण के व्युत्क्रम का प्रदर्शन कर सकता है;
प्रश्न मजबूत> क्या कोई इस नियम के लिए उदाहरण समझा सकता है या उदाहरण लिख सकता है?
यह एक अंतर्निहित रूपांतरण है:
int n; शून्य * पी = & amp; एन; // ठीक है: शून्य से पूर्णांक * एक अंतर्निहित अभिप्रेत है
व्युत्क्रम रूपांतरण निहित नहीं किया जा सकता है:
int * pi = p; // त्रुटि
लेकिन, उस नियम से, static_cast
:
int * pi = static_cast & lt; int के साथ किया जा सकता है * & gt; (पी); // ओक
नियम कुछ अंतर्निहित रूपांतरणों को सूचीबद्ध करता है जिन्हें static_cast
:
bool b = p के साथ उलट नहीं किया जा सकता है ; // ओके: शून्य * शून्य * निहित शून्य हो सकता है * p2 = static_cast & lt; शून्य * & gt; (बी); // त्रुटि: static_cast
Comments
Post a Comment