-
函数重载必须要在相同的作用域内进行,用同一个函数名定义多个函数,其中参数个数和参数类型不同查看全部
-
申明是函数可以带默认值,也可以不带。定义函数时不能带默认值 无实参则用默认值,实参覆盖默认值。查看全部
-
一、函数参数默认值 1.有默认值参数值的参数必须在参数表的最右端 2.函数定义不写默认值,声明可写默认值 3.无实参则用默认值,否则实参覆盖默认值 二、函数重载 1.定义:在相同作用域内 用同一函数名定义的多个函数 参数个数和参数类型不同 2.思考:编译器如何识别重载的函数 三、内联函数 1.关键字:inline 2.内联编译是建议性的,又编译器决定 逻辑简单,调用频繁的函数建议使用内联 递归函数无法使用内联方式 inline 内联编译是建议性的,由编译器决定。逻辑简单,调用频繁的函数建议使用内联。递归函数无法使用内联方式。 总结 函数参数默认值 实参覆盖默认值。 函数重载 名称相同参数可变。 内联函数 效率高,由编译器决定是否使用 inline 函数名 for 和while循环不要用内联函数 递归函数无法使用内联方式 c++函数新特性: 声明函数参数默认值:有默认参数值的参数必须在参数表的最右端(从右向左左边的可有可无参数)如:void fun(int i,int j=5,int k)为错,(int i,int k,int j=5)为正确 函数在声明时可以写参数默认值,但是在定义时不要写默认值 函数在无实参时则用默认值,有实参时覆盖默认值 函数重载: 在相同作用域内,用同一个函数名定义多个函数,函数的参数个数或参数类型不同 重载好处:比如求最大值(有时候要求两个数的最大值,有时候三个数),根据参数及返回值的不同调用最合适的函数 内联函数:可以省掉2和4两个步骤的时间,定义内联函数inline 类型 函数名(参数) http://img1.sycdn.imooc.com//55864f5f0001f94612800720-120-68.jpg 内联函数只是建议性的,要不要内联由编译器决定 逻辑简单(不包含循环),调用频繁的函数建议使用内联 递归函数无法使用内联方式 如果函数形参有默认值,则参数列表中最右边的参数必须有默认值!!!! 在函数声明时可以有函数参数默认值,但是在函数定义的时候最好不要带默认值! 函数重载,表现在函数返回类型,形参类型、个数 内联函数,关键字inline,调用时相当于把函数代码在调用函数中展开,节省了调用时间和返回时间,效率高,但是注意递归函数无法作为内联函数。。。查看全部
-
#include <iostream> using namespace std; int main(void) { //定义常量count const int count = 3; const int *p = &count; //打印count次字符串Hello C++ for(int i = 0; i < *p; i++) { cout << "Hello imooc" << endl; } for(int i = 0; i < 3; i++) { cout << "你好!" << endl; } for(int i = 0; i < count; i++) { cout << "慕课网,我爱你" << endl; } return 0; }查看全部
-
B.int a = 3; int const *p = &a; C.int a = 3; int * const p = &a; D.const int a = 3; int const &b = a; 指针指向const修饰的变量时,应该是const int const *p = &a;而不是int const *p=&a;这么做有风险查看全部
-
#include <iostream> #include <stdlib.h> using namespace std; int main() { int x=3; int const *p=&x; //const int *p=&x; *p=5; //错误,*p是常量,不能赋值 x=5; //对 int y=5; int *const p=&x; p=&y; //错,p被const修饰后变为常量,不能再指向别人 *p=10; cout<<x<<endl; //输出x=10 }查看全部
-
可变的指针不能指向不可变的变量。const int x=3; int *y=&x; 错(权限大的变量接收权限小的变量存在风险) int x=3; const int *y=&x; (权限小的变量接收权限大的变量)查看全部
-
别名被const修饰后也不能再次赋值查看全部
-
const与引用:定义后的常量,不能再次赋值查看全部
-
const与引用:定义后的常量,不能再次赋值查看全部
-
const与引用:加了const修饰符的别名不能修改查看全部
-
const与指针类型查看全部
-
const与指针类型查看全部
-
const与指针类型查看全部
-
const与指针类型 1.const int *p=NULL; 2.int const *p=NULL; 1与2完全等价 3.const int *const p=NULL; 4.int const *const p=NULL; 3与4完全等价查看全部
举报
0/150
提交
取消