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

在线装修网seo案例模板

在线装修网,seo案例模板,这么开网站,如何在电脑安装wordpressC入门#xff08;1#xff09;链接入口 文章目录 内联函数auto关键字注意事项 基于范围的for循环(C11)nullptr 内联函数 以inline修饰的函数叫做内联函数#xff0c;编译时C编译器会在调用内联函数的地方展开#xff0c;没有函数调用建立栈帧的开销#xff0c;内联函数提…C入门1链接入口 文章目录 内联函数auto关键字注意事项 基于范围的for循环(C11)nullptr 内联函数 以inline修饰的函数叫做内联函数编译时C编译器会在调用内联函数的地方展开没有函数调用建立栈帧的开销内联函数提升程序运行的效率。 //内联函数 inline inline int Add(int x, int y) {return x y; } //不同建立栈帧提高函数效率 int main() {cout Add(1, 2) endl;return 0;//内联函数向编译器发送请求编译器可以忽略这个请求 }在C语言中我们会用到宏定义#define 处理一些替换如简单的函数复杂的数据变量名貌似宏定义与内联函数是相同的 但实际上是有很大的区别的 内联函数是真实的函数可以像普通函数一样进行调试、类型调查和自动类型转换。它们可以包含类的成员变量并且可以在编译阶段将函数嵌入到调用处。而宏定义只是简单的文本替换不进行类型检查和类型转换且只是在预编译阶段进行替换没有任何调错机会一旦有错误在编译前就无法实现。 所以内联函数不要把声明和定义分离开来最好就在同一文件下进行。 auto关键字 在C11中标准委员会赋予了auto全新的含义即auto不再是一个存储类型指示符而是作为一个新的类型指示符来指示编译器auto声明的变量必须由编译器在编译时期推导而得。也就是说auto可以自动识别类型 初步测试 int main() {int a 10;char b 2;double c 2.0;int* d a;float e 1.0;auto a1 a;auto b1 b;auto c1 c;auto d1 d;auto* d2 d;auto d3d;//auto和auto*是没有什么区别的//auto进行引用时就必须使用auto因为auto是对类型进行判断引用相当于别名所以要加auto e1 e;cout typeid(a1).name() endl;cout typeid(b1).name() endl;cout typeid(c1).name() endl;cout typeid(d1).name() endl;cout typeid(e1).name() endl;}对于目前阶段来说auto无法体现出真正的价值但在C中定义类型时有时可不只是一个int或者float可以比的 #includestring #includevectorint main() {vectorstring v;vectorstring::iterator it v.begin();auto it v.begin();//上下的类型一样//auto在定义对象时类型较长时用它很方便 }注意事项 不可作为参数 void func(auto a) {//auto不可作为参数编译器无法对a的实际类型进行推导//传参的内容是拷贝主参的所以对于函数来说都是参数值无法进行类型推导 }返回值 在VS2022中已经支持auto作为返回值但最好还是不要用作为返回值有一定的风险性如果没有返回值或者没有参数那么对于这个函数的返回值是无的。 //可以作为返回值 auto func(int a) {return a; }同一行多个变量 //同一行多个变量 void Testauto() {auto a 1, b 2;auto c 1, d d;//错误的//在同一行进行多个变量定义时必须是类型相同的因为auto只对第一个变量进行识别判断 }不可作为数组 void Testauto() {int a[] { 1,2,3 };auto b[] { 1,2,3 };//错误的//auto不可用来声明数组 }基于范围的for循环(C11) 对于一个有范围的集合而言由程序员来说明循环的范围是多余的有时候还会容易犯错误。因此C11中引入了基于范围的for循环。for循环后的括号由冒号“ ”分为两部分第一部分是范围内用于迭代的变量第二部分则表示被迭代的范围。 void TestFor2() {int array[] {1,2,3,4,5};//引用e取数组中每个值//e取完一个值后会自动1cout array[0] endl;for (auto e : array){cout e endl;} }void TestFor2() {int array[] {1,2,3,4,5};//引用e取数组中每个值//e取完一个值后会自动1for (auto e : array){e * 2;}cout array[0] endl;for (auto e : array){cout e endl;} }由于这种范围for比较方便相对的使用这种for循环也有一定的条件要求 for循环迭代的范围必须是确定的。对于数组而言就是数组中第一个元素和最后一个元素的范围 迭代的对象要实现和的操作。 nullptr 由于在C中NULL是这样定义的 NULL可能被定义为字面常量0或者被定义为无类型指针(void*)的常量。 我们也可以测试下 //nullptr void f(int) {cout f:int endl; } void f(int*) {cout f:int* endl; } int main() {f(0);f(NULL);//结果一样因为NULL就是0}所以就有了nullptr这样的关键字 注意 在使用nullptr表示指针空值时不需要包含头文件因为nullptr是C11作为新关键字引入的。在C11中sizeof(nullptr) 与 sizeof((void*)0)所占的字节数相同。为了提高代码的健壮性在后续表示指针空值时建议最好使用nullptr。
http://www.yutouwan.com/news/438931/

相关文章:

  • 网站怎么建设高端公司wordpress 开源主题
  • 定制做网站报价手机网页布局
  • 网页网站的区别是什么wordpress资讯类主题
  • 带后台的html网站源码做网站后的收获
  • 厦门营销网站建设网络销售渠道有哪些
  • 视频网站的建设目标公司黄页是官网吗
  • jsp网站开发需要哪些技术网站建设仟首先金手指13
  • 宁波公司网站开发招聘wordpress 启动
  • 网站搬家后出错阿里网站搭建
  • 宝安网站建设-信科网络ktv支付订房网站模板
  • 网站互动栏目设置手机网站的特点
  • 怎样做医疗保健网站绍兴公司企业名单
  • 英文外贸网站建设推广建站方案书
  • 做网站总费用江苏建设信息网证书查询
  • 快速学会做网站设计网站大全图片
  • 神马站长平台做资源下载网站条件
  • 学习软件开发的网站如何将wordpress上传到站点
  • 网站页面设计要求巫山网站建设
  • 常德房产网龙斗seo博客
  • vps如何设置网站权限特殊符号网站
  • 男和男做那个视频网站南宁公司网站建设方案
  • 手机网站制作案例住房建设部官方网站办事大厅
  • 网站建设深圳官网wordpress模板汉化教程视频
  • 网站站点层叠样式怎么做网站开发济南
  • 教育网站模块建设论坛网站备案
  • c 精品课程建设网站源程序什么是网站组件
  • 廊坊网站排名优化价格注册商标查询官网入口
  • 苏州网站搭建公司全网营销书籍
  • php网站环境配置wordpress lnmp 伪静态
  • 小网站搜什么关键词好优惠券 wordpress