C11版本有哪些具体特点?
- 内容介绍
- 文章标签
- 相关推荐
本文共计514个文字,预计阅读时间需要3分钟。
cpp%E4%BD%BF%E7%94%A8inline RefPtr%E7%B1%BB%E5%9E%8B%E5%AE%9E%E7%8E%B0%E6%8D%95%E5%8F%96%E6%93%8D%E4%BD%9C%EF%BC%8C%E5%8F%AF%E4%BB%A5%E8%BD%BB%E6%9D%BE%E6%94%B9%E5%8F%98%E5%AF%B9%E8%B1%A1%E7%9A%84%E6%8C%87%E5%90%91%EF%BC%8C%E4%B8%8D%E9%9C%80%E8%A6%81%E6%95%B0%E5%97%A7%EF%BC%8C%E4%B8%8D%E8%B6%85%E8%BF%87100%E5%AD%97%EF%BC%9Ainline RefPtr(RefPtrT other) { _ptr=other._ptr; other._ptr=nullptr; }
inline RefPtr(RefPtr<T> && other)
{
_ptr = other._ptr;
other._ptr = nullptr;
}
最近在看cocos2dx的源代码,发现了一个模板类有一个奇怪的语法&&:
刚开始一阵犯晕,一个类型Ref<T>和一个似乎是形参的other与操作会得出一个什么?显然这种理解是错误的。。
“&&”还有一种含义是右值引用,表示形参是一个右值。
**左值 右值:**
int a = 0;
a是一个左值,左值是一个变量,可以被引用和多次使用。0是一个右值,不可以被引用。
左值一般是非临时变量,可以多次使用。右值只在当前表达式有效。
本文共计514个文字,预计阅读时间需要3分钟。
cpp%E4%BD%BF%E7%94%A8inline RefPtr%E7%B1%BB%E5%9E%8B%E5%AE%9E%E7%8E%B0%E6%8D%95%E5%8F%96%E6%93%8D%E4%BD%9C%EF%BC%8C%E5%8F%AF%E4%BB%A5%E8%BD%BB%E6%9D%BE%E6%94%B9%E5%8F%98%E5%AF%B9%E8%B1%A1%E7%9A%84%E6%8C%87%E5%90%91%EF%BC%8C%E4%B8%8D%E9%9C%80%E8%A6%81%E6%95%B0%E5%97%A7%EF%BC%8C%E4%B8%8D%E8%B6%85%E8%BF%87100%E5%AD%97%EF%BC%9Ainline RefPtr(RefPtrT other) { _ptr=other._ptr; other._ptr=nullptr; }
inline RefPtr(RefPtr<T> && other)
{
_ptr = other._ptr;
other._ptr = nullptr;
}
最近在看cocos2dx的源代码,发现了一个模板类有一个奇怪的语法&&:
刚开始一阵犯晕,一个类型Ref<T>和一个似乎是形参的other与操作会得出一个什么?显然这种理解是错误的。。
“&&”还有一种含义是右值引用,表示形参是一个右值。
**左值 右值:**
int a = 0;
a是一个左值,左值是一个变量,可以被引用和多次使用。0是一个右值,不可以被引用。
左值一般是非临时变量,可以多次使用。右值只在当前表达式有效。

