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

张掖市住房和城乡建设局网站物流网站毕业设计

张掖市住房和城乡建设局网站,物流网站毕业设计,新建的网站百度搜不到,网络科技公司是骗人的吗一、引用 1、引用的概念 在C中#xff0c;引用的本质其实就是给一个已经存在的变量”起别名“。也就是说#xff0c;引用与它所引用的对象共用一块空间。#xff08;同一块空间的多个名字#xff09; 就比如说#xff0c;李逵又叫黑旋风#xff0c;而黑旋风就是指李逵…一、引用 1、引用的概念 在C中引用的本质其实就是给一个已经存在的变量”起别名“。也就是说引用与它所引用的对象共用一块空间。同一块空间的多个名字 就比如说李逵又叫黑旋风而黑旋风就是指李逵本人只是名字换了而已。 int a 20;int* pa a; //指针 int ra a; //引用2、引用的特性  1、引用在使用时必须初始化 2、一个变量可以有多个引用但一个引用只能有一个实体对象 可以看出地址相同abcd共用一个空间。 引用还有几点需要注意1、引用无法改变指向 char ra a; char ra b; //错误引用一旦确立后就无法再改变其指向 ra b; //这个没问题实际结果为 a B 即将 b 的内容赋值给 a 2、引用不存在多级引用 char ra a; char b ra; //非法不存在多级引用 char b ra; //合法实际结果为 char b a; 三、常引用 指针和引用在赋值或者初始化时权限可以被缩小或者保持但不可进行修改。 来看如下代码 // 权限放大(error)//const int c 2;//const 修饰的常量不可以进行修改可以理解只具有读的属性不具有写的属性而d可以修改所以权限被放大//int d c;//这里正确写法应为const int dc;//const int* p1 NULL;//int* p2 p1;//同上前面加个const即可,const int* p2p1; (√)// 权限保持const int c 2;const int d c;const int* p1 NULL;const int* p2 p1;// 权限缩小int x 1;//x可以进行修改可以理解为具有读和写的属性而x是const修饰的只具有读的属性权限缩小了const int y x;int* p3 NULL;const int* p4 p3;//同上 引用主要有以下的使用场景 1、做参数 void swap(int ra, int rb) {//有了引用之后不需要再解引用也能达到指针的效果int tmp ra;ra rb;rb tmp; }2、做返回值 //返回值 int Test() {static int a 10;a;return a;//也会产生临时变量但是临时变量的类型是int 也就是a的别名即临时变量就是返回的a减少了拷贝操作 } int main() {int ret Test();return 0; } 这就是引用返回即在返回类型前面加上虽然也需要借助临时变量的存在但是由于临时变量的类型为int ,即临时变量就是a所以就减少了临时变量的拷贝工作会使效率得到提升。当引用做返回值时接收到的变量就是函数返回时的本体就是变量ret。 不过需要注意的是 这段代码是错误的原因是val是函数 func 中的局部变量当函数结束后变量就被销毁了此时可能得到正确的结果(编译器未清理)也可能得到错误的结果编译器已清理。 这就告诫我们如果是局部变量就不适合使用引用调用而生命周期是较长的变量适合使用引用返回不需要创建临时变量。 二、内联函数 1、内联函数的概念 我们知道在创建函数的过程中一个函数在开始调用时会建立函数栈帧结束调用时会销毁函数栈帧而函数栈帧的建立与销毁是有空间和时间上的开销的。 对于功能简单而调用次数很多的函数来说每次调用都重新开辟栈帧势必就会造成效率的降低在C语言中们使用宏函数来解决这个问题我们直接将 要调用的函数写成宏函数这样使得程序在预处理阶段直接将调用的函数替换成相应的代码从而不再建立函数栈帧。 比如交换函数代码 #define Add(x,y) ((x)(y)) //宏函数 宏定义除了复杂以外还有如下缺点 1、不能进行调试宏是直接进行替换的 2、没有类型的安全检查 所谓内联函数就是在函数实现前加上 inline 修饰此时函数会被编译器标记为内联函数。 //此时的 Add 函数就是一个内联函数 inline int Add(int x, int y) {return x y; }内联函数有如下特点 在 Debug 模式下函数不会进行替换可以进行调试在 Realse 模式下函数会像宏函数一样展开提高程序运行速度内联函数弥补了宏函数的不足同时吸收了宏函数速度快的优点 三、auto关键字 在代码的编写中随着程序的越来越复杂所用的类型也越来越复杂所以我们就需要引入auto关键字。 1、auto功能 auto 关键字能直接识别目标变量类型然后自动转换为相应类型 int a 10; int* b a;auto aa a; //此时 aa 为 int auto bb b; //此时 bb 为 int*不过在以后的学习过程中会遇到名字很长的变量这就要用到auto关键字了。 #include string #include map int main() {std::mapstd::string, std::string a{ { apple, 苹果 }, { orange,橙子 },{pear,梨} };std::mapstd::string, std::string::iterator it a.begin();while (it ! m.end()){//....}return 0; }auto的功能还可以指定转化类型。 int a 10;auto* pa a; //指定 pa 为 int* auto ra a; //指定 pa 为 int不过要记住 auto a 1, b 2.2; //非法类型不统一 这个定义变量是错误的。 四、基于范围的for循环 在C中我们有更简介的方法来使用for循环不用向之前这么繁杂。就像Python中使用for循环方法类似在一个范围里进行for循环的。 来看如下的代码 void TestFor() {int array[] { 1,2,3,4,5 };//使用引用进行迭代--可以修改原数组for (auto e : array)e * 2;//使用局部变量进行迭代--不能修改原数组for (auto e : array)cout e ;cout endl; //换行 }int main() {TestFor(); } for循环后的括号被冒号分为两部分第一部分是范围内用于迭代的变量第二部分则表示被迭代的范围。 范围for的使用条件1、范围大小必须确定 2、迭代对象要使用的操作。
http://www.dnsts.com.cn/news/45744.html

相关文章:

  • 手机壁纸网站大全网站建设方法叁金手指下拉丶
  • 传奇辅助网站怎么建设网络推广是干嘛的
  • 门户网站建设jz190小程序店铺怎么弄
  • 嘉定南翔网站建设中国世界排名足球
  • 衡水做wap网站多少钱滴滴一年亏损109亿
  • 全网最低价业务网站装修平台网站制作
  • 有什么网站可以做名片效果图制作好学吗
  • 做网站怎么存放视频电子商务网站模板html
  • 曾舜晞网站是哪个公司做的wordpress 搬家后图片不显示
  • 英文建站模板wordpress登录美化
  • 昆山做网站优化做网站的服务器配置
  • 网站建设维护与推广青岛专业网站营销
  • 彩票网站建设方案物业管理系统有哪些模块
  • 制作网站的专业公司做电影网站会有什么惩罚
  • 企业网站推广技巧设计公司的网站
  • 成都工程网站建设全国旅游景点网站开源
  • 无锡seo公司网站专业的企业进销存软件厂家价格
  • 邢台做网站找谁wordpress主题 有分页
  • 自已如何做网站it培训机构出来能找到工作吗
  • 视觉做的比较好的国外网站百度公司招聘官网
  • 做微商自己建网站合适吗工商网站查询企业信息官网
  • 怎样看网站是谁做的flash网站全屏代码
  • 百度如何网站企业网站seo推广
  • 网站域名跳转代码html互联网建筑公司
  • 法国网站域名深圳企业网站制作服务
  • 企业平台网站制作河北省城乡住房建设厅网站
  • 网站代理如何做网站制作代码
  • 信息发布网站建设wordpress 焦点图
  • app网站开发招聘怎样申请网站呢
  • 网站评论列表模板企业小程序建设的公司