static EntryType Graph::getEntryPoint() { return "_start"; }
void MyClass::init(Graph &g) { const EntryType entry = Graph::getEntryPoint(); }
这么简单的一段程序,调试时看 entry 的值,里面存的东西跟"_start"半毛钱关系都没有。 因为"_start"传出去时隐式 cast 成 EntryType ,然后 EntryType 实现的转换操作里做了一堆骚操作。