当前位置: 首页 > news >正文

巩义网站建设与制作郑州锐途网站建设

巩义网站建设与制作,郑州锐途网站建设,广西建设网上办事大厅,公司换网站换域名 备案文章目录 什么是缺省参数什么是函数重载什么是引用引用在函数中的作用常引用引用跟指针的区别 c中的宏替换 什么是缺省参数 缺省参数:在调用函数中 可以不传参数 并且在半缺省的时候不能跳着传#xff0c;只能连续传 缺省参数 不能跳跃传 半缺省#xff08;缺省值只能从右往… 文章目录 什么是缺省参数什么是函数重载什么是引用引用在函数中的作用常引用引用跟指针的区别 c中的宏替换 什么是缺省参数 缺省参数:在调用函数中 可以不传参数 并且在半缺省的时候不能跳着传只能连续传 缺省参数 不能跳跃传 半缺省缺省值只能从右往左传必须是连续给 不能声明和定义不能同时出现缺省参数 要给缺省参数 在声明给 缺省值必须是常量或者全局变量 void Func(int a 10, int b 20, int c 30) {cout a a endl; cout b b endl;cout c c endl endl; }int main() {//Func(1, , 3); Func();Func(1);Func(1,2);Func(1,2,3);return 0; }什么是函数重载 函数重载函数名形同 但是类型不相同传的个数不同 c会自动匹配函数 函数重载的时候不传参数调用会有歧义 函数重载函数名可以相同 但是类型不能相同类型不同个数不同 cpp中 会自动匹配参数 int Add(int x, int y) {return x y; }double Add(double x, double y) {return x * y; }//构成重载不传参数的时候调用存在二义性歧义 void f() {cout f() endl; }void f(int a 0) {cout f(int a) endl; }int main() {Add(1, 2);//Add(2.2, 1.1);//Add(1, 2.2);f(0);f(20);return 0; } 什么是引用 引用:给一个量区别名一个变量可以有多个别名,符号 引用后 引用的改变也会改变原来变量的值 void Swap(int left, int right) {int a left;left right;right a; }int main() {// : 引用取别名/取外号 一个变量可以取多个别名 地址也是一样的// 别名内容改变 会改变原本的内容int a 1;int b 2;int c a;Swap(a, b);cout a endl;cout b endl; }引用在函数中的作用 第一种:在函数变量里使用引用(在变量里用引用类似与指针) 传值的时候方便一些可以不用取地址符号直接传 void Swap(int left, int right) {int a left;left right;right a; }第二种引用函数中会吧返回的值 的别名赋值给main函数中接收的变量 用引用做返回值的优点:效率高 因为在函数中建立的变量出了函数会销毁那么引用的缺点也很明显返回的结果不确定有可能是正常值也有可能是随机值 但是如果在函数中使用了静态变量他就不在栈上了在静态区上静态变量是需要初始化的但是只会初始化一次在函数中用静态变量来改变他会回到栈区 //出了作用域 返回对象就销毁了 不能用引用返回 否则结果不确定 //全局的 传引用返回 那么效率会很高 //引用做返回值:可以修改返回对象 int ADD(int x, int y)//有问题的代码 {//静态变量在 函数销毁后也在存在静态区的//始终的静态变量只会初始化一次static int c x y;//c x y;//如果静态变量后面被调用则从静态区变到 栈里面return c; }//void func1() //{ // int a 0; // cout a endl; //} // //void func2() //{ // int c 0; // cout c endl; //}int main() {//空间可以重复利用 所以 打印的地址是一样的//不同的函数名(参数类似) 也可以用同一块空间/*func1();func2();*//*func();func();*/int ret ADD(1, 2);//ret为函数ADD的别名;//打印 3 or 随机值cout ret endl;ADD(3, 4);//打印 7 or 随机值cout ret endl;return 0; }常引用 如果一个数是常量 那么不能直接引用(权限放大) 要用常引用来引用。 常引用const 修饰 引用 但是常引用可以引用 变量缩小权限变量改变 常引用的值也会改变但是常引用不能改变自己的值 还有出现整形提升时不能用引用直接改变因为类型转换时会产生零时变量 零时变量不能给直接引用 int main() {//如果 是常量 那么不能直接用引用来引用常量//如果是 常引用 那么可以引用 常量//权限不能放大const int a 10;//int b a;const int b a;// 权限可以缩小int c 20;const int d c;//常引用可以给常量区别名const int e 10;c 30;cout dendl;int i 1;double j i;//类型转换的时候会产生零时变量// 同类型的时候不会产生零时变量//零时变量是不可以给改变的 所有要 用 常引用const double rj i;cout rj;return 0; }引用跟指针的区别 语法区别: 指针需要开辟空间 引用不需要 总结 引用的底层是用汇编实现的 int main() {int a 10;//语法区别: 不开额外空间 * 开额外空间 存地址//总结引用底层是用 汇编实现的 int b a;int* ptr a;return 0; }c中的宏替换 因为c之父觉得 宏的细节要求太麻烦了但又要有宏的优点,所有决定用 枚举和内联来替代宏所以出现了内联函数。 内联函数:可以把函数替换成宏不用建立函数栈帧,并且可以调试 内敛函数中:一般小于十行的才会展开大于不展开 在多次调用中建议不使用内敛函数 inline 可以把函数变成宏 不用创造函数栈帧 并且可以调试 内联函数函数小于十行才会展开,小函数用 内联会提高效率 内敛函数不能使用在多次调用的函数里 每次调用都会调用内联函数但是函数调用的是地址inline int ADD(int x, int y) {int c x y;return x y; }
http://www.huolong8.cn/news/105815/

相关文章:

  • 西宁网站制作费用是多少钱做网站怎样赚到钱
  • 怎么做微信钓鱼网站龙口网络
  • 佛山市门户网站建设公司wordpress通过标签搜索
  • iis7.0网站错误代码解决企业网站建设公司多米
  • 免费源码资源源码站入口php手机网站源码下载
  • 本溪兼职网站建设招聘wordpress访问目录权限
  • 石家庄制作网站软件图片制作生成器
  • 网站开发的背景知识和技术广东莞建建设工程有限公司
  • 化工网站建设海岸城网站建设
  • 网站做多个语言有什么好处龙岩代理记账公司
  • 河南艾特网站建设百度网站优化培训
  • 网站建设费的摊销邯郸网络运营中心电话
  • 北京网站制作网络推广公司番禺建网站价格
  • 公司网站怎样实名认证四川政务服务网官网
  • 徐州品牌网站建设|徐州网站优化|徐州网络公司-徐州启思信息科技网络营销就业前景怎么样
  • 网络营销策略分析案例兰州网站的优化
  • 网站制作公司 知乎优化方案物理电子版
  • iis 发布网站内部服务器错误网站模块在线制作
  • 网站开发案例教堂html高特效网站
  • 做网站网络公司广东建设信息网手机版
  • 长沙做个网站多少钱昆明网站建设 昆明光硕
  • 传统企业网站建设三亚最新政策
  • php快速建站系统泰州网站建设开发
  • 网页.网站.主页.网址.域名有什么联系河南省建设厅网站103
  • 局域网视频网站建设使用wordpress rss
  • 网站推广效果不好原因是百度指数怎么做
  • 网站类型定义跨境电商网站排行榜
  • 玉泉营网站建设公司做网站有没有用
  • 佛山网站设计怎么做庞各庄网站开发公司
  • 厦门微网站建设公司黑牛网站建设