c++ move关键字 move的由来:在 c++11 以前存在一个有趣的现象:T& 指向 lvalue (左传引用), const T& 既可以指向 lvalue 也可以指向 rvalue。但却没有一种引用类型,可以限制为只指向 rvalue。 就这么简单!你甚至可以暂时想像它的原型是这样的(当然 ...
分类:
编程语言 时间:
2018-09-04 23:25:37
阅读次数:
262
有趣的重载: 实验: 将1左移到cout对象中。 将Test改名为Console,此时我们的本意是想让这个cout代表当前的命令行: cout代表命令行的一个实例,本意是想将1打印到命令行上。 我们在重载函数中用printf打印: 运行结果如下: 可以看到1被打印出来了。 我们还可以重载输出字符: ...
分类:
编程语言 时间:
2018-09-02 00:01:00
阅读次数:
281
函数重载回顾: 类中的重载: 万变不离其宗: 类中的普通成员函数和静态成员函数也够成重载。 示例程序: 运行结果如下: 深度的意义: 重载的意义分析: strncpy实现的功能和strcpy差不多,但是又多了一个名字,导致容易记忆混乱,因此,我们采用strcpy重载的方式将strncpy封装起来。 ...
分类:
其他好文 时间:
2018-09-01 20:35:04
阅读次数:
148
1. nullptr 使得我们可以区分空指针和0 void foo(char *); void foo(int); 对于char* ch = nullptr foo(ch); //就 不会去调用第二个参数为整型的重载函数了 2. auto 自动推导变量的类型 for(auto itr = vec.c ...
分类:
编程语言 时间:
2018-08-30 20:39:14
阅读次数:
218
重载(Overload) 重载(overloading) 是在一个类里面,方法名字相同,而参数不同。返回类型可以相同也可以不同。 每个重载的方法(或者构造函数)都必须有一个独一无二的参数类型列表。 最常用的地方就是构造器的重载。 重载规则: 被重载的方法必须改变参数列表(参数个数或类型不一样); 被 ...
分类:
其他好文 时间:
2018-08-30 19:53:51
阅读次数:
131
重载(Overload): C++中的函数重载: 函数重载示例: 运行结果如下: 函数重载至少满足下面的一个条件: 上面的两个函数满足参数顺序不同,所以是可以构成重载函数的。 当函数默认参数遇上函数重载会发生什么?如下: 用g++编译上述程序,结果如下: 如果在main函数中不调用这个func函数的 ...
分类:
其他好文 时间:
2018-08-23 02:19:40
阅读次数:
175
重载与指针 下面的函数指针将保存哪个函数的地址: 在给p赋值的时候,我们使用了func,但是这里并没有指明参数,编译器是怎么知道这个func函数指的是第一个func函数呢? 函数重载遇上指针: 将重载函数名赋值给函数指针时 1、根据重载规则挑选与函数指针参数列表一致的候选者 2、严格匹配候选者的函数 ...
分类:
编程语言 时间:
2018-08-23 02:03:00
阅读次数:
212
c/c++ 编译器提供的默认6个函数 1,构造函数 2,拷贝构造函数 3,析构函数 4,=重载函数 5,&重载函数 6,const&重载函数 c++ include using namespace std; class Test{ public: Test(int d = 0):data(d){ c ...
分类:
编程语言 时间:
2018-08-19 11:05:17
阅读次数:
138
一、重载 1.函数重载 在同一个作用域内,可以声明几个功能类似的同名函数,但是这些同名函数的形式参数(指参数的个数、类型或者顺序)必须不同。您不能仅通过返回类型的不同来重载函数。 通过不同形参输出不同的结论。 2. ...
分类:
编程语言 时间:
2018-08-13 20:58:07
阅读次数:
145
函数名必须相同方能构成函数重载; 函数返回值类型:可以相同,也可以不同(注意:函数的返回类型不足以区分两个重载函数); 函数参数类型:必须不同; 函数参数个数:可以相同,可以不同 函数参数顺序:可以相同,可以不同; 例:已知圆心和圆周边上的一点 public static double Area(i ...