我阅读了源代码clang API,并看到了这段代码
00127 Optional<T> getAs() const {
00128 if (!T::isKind(*this))
00129 return None;
00130 T t;
00131 ProgramPoint& PP = t;
00132 PP = *this;
00133 return t;
00134 }
130-133行上的代码是什么?为了什么?
http://clang.llvm.org/doxygen/ProgramPoint_8h_source.html#l00127
最佳答案
130:创建返回值,默认情况下已初始化。
131:创建对返回值的引用。
132:使用ProgramPoint的赋值运算符分配给参考。
乍一看没有找到一个,所以可能是使用编译器生成的赋值运算符。
133:归还
创建引用的目的可能是以下一项或多项:
关于c++ - clang API中的奇怪代码,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27156985/