做网站怎样收费的,建设部网站注册师,背景wordpress,网站建设套餐表C到C笔记记录 输入(cin) and 输出(cout)bool内联(inline)重载缺省函数哑元引用()C动态内存分配笔记扩充#xff1a; 输入(cin) and 输出(cout)
#includeiostreamusing namespace std;void main()
{int i;//输入 cincin i;//输出 coutcout i 笔记记录 输入(cin) and 输出(cout)bool内联(inline)重载缺省函数哑元引用()C动态内存分配笔记扩充 输入(cin) and 输出(cout)
#includeiostreamusing namespace std;void main()
{int i;//输入 cincin i;//输出 coutcout i endl;system(pause);//暂停窗口
}bool bool b true (表示真) bool b false (表示假)3 内联(inline) (PS:调用函数复杂度的高的不推荐使用内联操作) 1.避免重复调用函数(PS:类似递归操作) 2.牺牲空间 换取高效率 3.写了inline关键字不代表一定会按照内联的运行方式去运行(简单说鸡肋) (PS:内联的运行方式简单说 无需重新申请 调用函数可以直接调用函数)
重载 (1)重载解释 1.同一个作用域 函数名相同 参数不同的函数 (PS:两个函数名字一样但是里面所带的参数类型不一样) 2.重载和返回类型无关 (PS:重载与函数类型没有关系不论是函数类型相同不相同。只要函数名相同 参数相同 则不能重载) 3.重载遵守临近隐藏原则 (PS:相同函数名或变量名优先调用距离最近一次声明的函数和变量) (2)可以重载的要求 2.参数 个数 不一样 可以重载 3.参数 顺序 不一样 可以重载 4.参数 类型 不一样 可以重载 缺省函数 缺省函数解释 写函数参数时定义 形参的默认值当 实参 传入时 没有变量 则使用 形参默认值 代替实参 (PS:为函数指定 默认值调用时若未提供实参则对应位置的形参用默认值代替)使用要求 1.缺省参数必须从 右边第一个参数 开始定义 2.禁止声明和定义时同时指定缺省参数(PS:最好在声明时指定缺省参数 ) 3.缺省参数禁止在重载时使用(会造成重载歧义) 源码
#includeiostream
#includestdlib.h
using namespace std;void fun(char a w,char b s ){cout Worl a b endl;
}
void main()
{fun();//无参时输出Worlwsfun(d,s);//传参时输出Worldssystem(pause);
}运行结果
Worlws
Worlds
请按任意键继续. . .哑元 哑元解释: 将 形参变量名 删除只有函数类型称为 哑元 。当形参变量被删除时函数内变量会停止使用(详细看源码)哑元用处: 1.可以用来占形参位置 2.兼容老版本 3.形成函数重载 源码 #includeiostream
#includestdlib.h
using namespace std;
//将 a 进行注释后a 不会被传参传入
void fun(char /*a w*/,char b s ){cout Worl a b endl;
}
void main()
{fun();//无参时输出Worlsfun(d,w);//传参时输出Worlssystem(pause);
}运行结果
Worls
Worls
请按任意键继续. . .引用() 引用解释 引用相当于给变量取别名对引用的操作相当于直接影响变量(PS:与C语言中指针用法差不多但是引用就相当于一个别名。) 引用注意事项 1.引用是一对一的地址不变值能变(但是能改变值) 2.引用必须初始化 and 不能为空 3.引用做参数 形参就相当于实参 4.引用不额外占用内存 #includeiostream
#includestringusing namespace std;
//取最大值
int Max(int a, int b)
{a 2;//改变引用形参的值(此时改变会影响实参)b 5;//改变形参的值(此时改变并不影响实参)return a b ? a: b;
}
int Add(int a)
{return a;
}
void main()
{//1. 引用是一对一的地址不变值能变(但是能改变值)int a 18;int function a;cout 改变前的地址 function endl;function Add(a);cout 改变后的地址 function endl;cout Add function endl;int test 30;//2. 引用必须初始化 and 不能为空//初始化int t test;t 40;//改变所引用的值cout t t endl;//打印 t 变量值cout test test endl;//打印 test 变量值cout t 地址 t endl;//打印 t 地址cout test 地址 test endl;//打印 test 地址//3. 引用做参数 形参就相当于实参int s 30;//获取最大值cout Max Max(s, t) endl;//当引用作为参数 其实参也会随之改变cout 改变后的值 s 未改变的值 t endl;system(pause);
}C动态内存分配 C动态内存分配解释 1.C动态内存分配关键词new and delete 2.动态内存分配解释参考C语言C_顺序表(动态数组插入) C动态内存分配操作 1.使用new / delete操作符 2.内存分配的同时初始化 3.动态内存分配数组 4.内存分配失败,抛出bad_alloc异常 #includeiostream
#includestringusing namespace std;
//取最大值
void main()
{//1.使用new / delete操作符//(PS:初始化后如果不进行赋值将变成野指针)int* p1 new int;*p1 123;cout *p1 endl;delete p1;p1 NULL;//2.内存分配的同时初始化int* p2 new int(20);cout *p2 endl;delete p2;p2 NULL;//3.动态内存分配数组int* arr new int[4];for (int i 0; i 4; i){arr[i] i;cout arr[i] ;}cout endl;delete[] arr;//删除时需要带[]arr NULL;//动态内存分配数组的同时初始化int* brr new int[4]{1,3,5,9};for (int i 0; i 4; i){cout brr[i] ;}cout endl;delete[] brr;//删除时需要带[]brr NULL;system(pause);
}笔记扩充
Windows PowerShell 中指令
关键词注释g编译源代码g -c以二进制形式编译c文件nm以二进制形式读取文件
效果图 2.在C里使用C语言形式方法 (参考文章:C关键字extern的使用) extern 外部声明 例子extern “C” void func(int a) 这句话就是告诉编译器在编译 func 函数名时按着 C 的规则去翻译相应的函数名而不是 按C 的方式。这个功能十分有用处因为在C出现以前很多代码都是C语言写的而且很底层的库也是C语言写的为了更好的支持原来的C代码和已经写好的C语言库需要在C中尽可能的支持C而extern C就是其中的一个策略。这个功能主要用在下面的情况 1.C代码调用C语言代码 2.在多个人协同开发时可能有的人比较擅长C语言而有的人擅长C这样的情况下也会有用到 源码
#includeiostream
#includestdlib.h
using namespace std;//C语言 形式打印
extern C
{void fun(){printf(Hello\n);}
}
//C 形式打印
void fun(char a ){cout Worl a endl;
}
void main()
{fun();fun(d);system(pause);
}