कि समारोह को परिभाषित करता है जब वस्तु एक शून्य सूचक में बदल जाती है क्या होता है, यहाँ यह पता करने के लिए सदस्य ptr
अंक के लिए मूल्यांकन करता है।
कभी-कभी इस रूपांतरण फ़ंक्शन को परिभाषित करने में उपयोगी होता है, उदा। वस्तु के बूलियन मूल्यांकन के लिए।
#include <iostream>
struct Foo {
Foo() : ptr(0) {
std::cout << "I'm this: " << this << "\n";
}
operator void*() {
std::cout << "Here, I look like this: " << ptr << "\n";
return ptr;
}
private:
void *ptr;
};
int main() {
Foo foo;
// convert to void*
(void*)foo;
// as in:
if (foo) { // boolean evaluation using the void* conversion
std::cout << "test succeeded\n";
}
else {
std::cout << "test failed\n";
}
}
उत्पादन होता है:
$ g++ test.cc && ./a.out
I'm this: 0x7fff6072a540
Here, I look like this: 0
Here, I look like this: 0
test failed
यह भी देखें:
यहाँ एक उदाहरण है कि अपने वर्तमान कोड लिखने में कोई त्रुटि है
ध्यान दें, 'ओपेटर' की कमी एस – StephenTG
@StephenTG धन्यवाद। संशोधित – GuLearn
यह एक कास्ट ऑपरेटर है। http://ideone.com/k1EiJF – Chad