叮当 API 中的奇怪代码
Strange code in clang API
>我阅读了源代码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:归还
创建引用的目的可以是以下一项或多项:
- 检查 T 是否是 ProgramPoint 的子类
- 在第 132 行中强制使用 ProgramPoint 赋值运算符(而不是子类 T)
相关文章:
- Visual C++ Win32 API 代码来拦截某个击键
- 用于C++代码的 API 监视器类型定义 (XML)
- 创建进程 API 失败,在窗口 122 上出现错误代码 10
- 如何在C++代码上使用 Tcl-C API
- cpp / c ++中的grpc客户端代码,元数据x-api-key/x-goog-api-key不起作用,给了我语音A
- 来自API的错误代码..处理什么是好的做法
- 如何检查 win32 exe 文件是否已运行?(使用 win32 API 代码)
- 如何在 Windows API 中检测带有虚拟代码的非字母?
- 如何在librdkafka中使用KAFKA的生产者API,并在Windows上使用C ++代码
- 有什么方法可以用本机C 代码替换Windows API计时器(settimer)
- mmdevice API中的cocreateinstance返回错误代码0x800401f0
- 如何从代码中检查某些语言是否在Tesseract API中安装
- 我的代码怎么了?带有QT的原始输入API
- Unity 3D:从 C/C++ 代码访问 Unity 3D API
- Windows GDI API是否在GetLastError中返回错误代码
- ldap_search函数使用 C++ Win32 API 返回错误代码 10
- 当我运行此代码时,它"stopped working"。我希望从 API 调用这个简单的函数
- 错误 C1090:PDB API 调用失败,错误代码'0':"
- 我应该如何编写用C++代码编写的Lua API/对象模型的文档
- 在Windows下同步C++代码的API失败