10右值引用 0、课前秀 + 右值引用(R value reference),标记为 ,是C++11增加的新的类型。 + 左值 :表达式结束后依然存在的持久对象 + 右值 :表达式结束时就不再存在的临时对象。 + 便捷的区分方法 :看能不能对表达式取地址。 所有的具名变量或对象都是左值 。 + 字面 ...
分类:
编程语言 时间:
2020-05-04 15:05:03
阅读次数:
59
指针 int *x;尽量理解为int 类型 1、指针声明之后,必须初始化,否则会随机指针 2、如果指针不知道指向谁,那么应该把这个指针变为空指针, 应用情况:在堆内存使用完之后要手动删除 空指针命名方法: int *p ==nullotr; 栈内存的东西不用delete,只针对new关键字hi用,栈 ...
分类:
编程语言 时间:
2020-04-27 13:35:22
阅读次数:
55
6.2 Special Member Function Templates 6.2 特殊成员函数模板 Member function templates can also be used as special member functions, including as a constructor, ...
分类:
移动开发 时间:
2020-04-25 19:28:21
阅读次数:
88
数据结构中C++常用的知识 模版 type 是函数所使用的数据类型的占位符名称。 看起来像返回了一个值,但其实因为函数类型是引用,所以返回的是变量的左值。 当返回一个引用时,要注意被引用的对象不能超出作用域。所以返回一个对局部变量的引用是不合法的,但是,可以返回一个对静态变量的引用 用的比较经典的例 ...
分类:
编程语言 时间:
2020-04-25 00:40:52
阅读次数:
78
在C++11中, 不再只有逻辑与的含义,还可能是右值引用: 但也不尽然, 还可能是转发引用: “转发引用”(forwarding reference)旧称“通用引用”(universal reference),它的“通用”之处在于你可以拿一个左值绑定给转发引用,但不能给右值引用: 一个函数的参数要想 ...
分类:
其他好文 时间:
2020-04-19 22:20:08
阅读次数:
93
首先 我现在编写一个代码时出现了一个问题代码如下 Spritestone& Monster::getValue() { int stoneCount[] = { 100,200,500,1000,2000,5000,10000,20000,100000 }; int value = stoneCou ...
分类:
其他好文 时间:
2020-04-16 15:23:05
阅读次数:
69
对于变量而言, 左值可以使用 int& val = num; 对于常数而言,右值可以使用const int& val = num; 临时变量是右值 /* 左值 */ #include <iostream> using namespace std; int func(void) { int num = ...
分类:
编程语言 时间:
2020-03-30 15:52:01
阅读次数:
54
一直对这个概念比较模糊,读到《C++ primer》发现其中有讲解,截下图来记录。 ...
分类:
编程语言 时间:
2020-03-13 13:24:41
阅读次数:
47
这段程序有两个需要注意的地方: 1.先将参数beg_pos赋值给begin_pos,因为后续的循环需要进行begin_pos++,若直接对beg_pos++是不可行的(产生错误C2105,++需要左值),而非类型参数是一个常量值(非类型实参需要是一个常量表达式),不是左值. 2.check_inte ...
分类:
其他好文 时间:
2020-03-04 00:16:06
阅读次数:
53
关联容器中的元素是按关键字来保存和访问的。与之相对,顺序容器是按它们在容器中的位置和顺序保存和访问的。 关联容器也是模板。为了定义一个map,我们必须指定关键字和值的类型。 与顺序容器类似,可以对一个关联容器的元素进行列表初始化。 按关键字有序保存元素 map 当从map中提取一个元素时,会得到一个 ...
分类:
其他好文 时间:
2020-03-02 00:50:09
阅读次数:
89