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

做旅游的网站 是什么风格郑州网站建设网站建设

做旅游的网站 是什么风格,郑州网站建设网站建设,wordpress 替换图片函数,台州路桥做网站的公司目录 1、引用 1.1 引用概念 1.2 引用特性 1.3 常引用 1.4 使用场景 1.4.1 引用做参数 1.4.2 引用做返回值 1.5 引用和指针的区别 2、内联函数 2.1 概念 2.2 特性 3、auto关键字 4、基于范围的for循环 5、指针空值nullptr 5.1 C98 中的指针空值处理 5.2 C11 … 目录 1、引用 1.1 引用概念 1.2 引用特性 1.3 常引用 1.4 使用场景 1.4.1 引用做参数 1.4.2 引用做返回值 1.5 引用和指针的区别 2、内联函数  2.1 概念 2.2 特性 3、auto关键字  4、基于范围的for循环  5、指针空值nullptr  5.1 C98 中的指针空值处理 5.2 C11 中 nullptr 的优势 本章节将延续上篇文章未讲完的内容期待接下来的内容哦 1、引用 1.1 引用概念 类型 引用变量名(对象名) 引用实体 void TestRef() {int a 10;int ra a;//定义引用类型printf(%p\n, a);printf(%p\n, ra); }      ra是a的别名是一个变量占用同一块内存     注意 引用类型 必须和引用 实体 是 同种类型 的 1.2 引用特性     1. 引用在 定义时必须初始化     2. 一个变量可以有多个引用     3. 引用一旦引用一个实体再不能引用其他实体 1.3 常引用     只有引用才涉及权限的变化 1.4 使用场景 1.4.1 引用做参数     输出型参数形参的改变会改变实参     引用做参数不会开辟空间  1.4.2 引用做返回值     引用做返回值不会创建临时变量 1.5 引用和指针的区别     引用语法层面不开空间底层实现和指针类似 面试常考点 2、内联函数  2.1 概念     以 inline 修饰 的函数叫做内联函数 编译时 C 编译器会在 调用内联函数的地方展开 没有函数调用建立栈帧的开销内联函数提升程序运行的效率。     如果在上述函数前增加inline关键字将其改成内联函数在编译期间编译器会用函数体替换函数的调用 查看方式 1. 在 release 模式下查看编译器生成的汇编代码中是否存在 call Add 2. 在 debug 模式下需要对编译器进行设置否则不会展开 ( 因为 debug 模式下编译器默认不会对代码进行优化以下给出vs2022 的设置方式 ) 2.2 特性 1. inline 是一种 以空间换时间 的做法如果编译器将函数当成内联函数处理在 编译阶段会 用函数体替换函数调用 缺陷可能会使目标文件变大优势少了调用开销提高程序运 行效率。 2. inline 对于编译器而言只是一个建议不同编译器关于 inline 实现机制可能不同 一般建 议将 函数规模较小 ( 即函数不是很长具体没有准确的说法取决于编译器内部实现 ) 、 不 是递归、且频繁调用 的函数采用 inline 修饰否则编译器会忽略 inline特性。下图为《 Cprime 》第五版关于 inline 的建议      问题: 为啥内联函数可能会导致目标文件变大 3. inline 不建议声明和定义分离分离会导致链接错误。因为 inline 被展开就没有函数地址 了链接就会找不到 // F.h #include iostream using namespace std; inline void f(int i); // F.cpp #include F.h void f(int i) {cout i endl; } // main.cpp #include F.h int main() {f(10);return 0; } // 链接错误main.obj : error LNK2019: 无法解析的外部符号 void __cdecl f(int) (?fYAXHZ)该符号在函数 _main 中被引用 内联函数和宏函数     相似点      避免函数调用开销都能在一定程度上避免常规函数调用时的栈帧创建、参数传递等开销提高程序运行效率。     代码替换在编译或预处理阶段都会将相关代码替换到调用处。内联函数由编译器决定是否展开替换宏函数是在预处理阶段进行文本替换。      优缺点     内联函数优点是有类型检查和语法检查增强了程序的健壮性且调试方便缺点是编译器对其展开有条件限制当函数体复杂时可能不进行内联同时会使代码体积增大。     宏函数优点是简单灵活可定义复杂的表达式在代码生成方面有一定的优势缺点是没有类型检查容易出现副作用且在调试时难以定位问题也可能导致代码可读性变差。 3、auto关键字  使用 auto 定义变量时必须对其进行初始化在编译阶段编译器需要根据初始化表达式来推导 auto 的实际类型 。因此 auto 并非是一种 “ 类型 ” 的声明而是一个类型声明时的 “ 占位符 ” 编译器在编 译期会将 auto 替换为变量实际的类型 。 4、基于范围的for循环  void TestFor1() {int array[] { 1, 2, 3, 4, 5 };//让数组中的元素大小变成原来的二倍for (int i 0; i sizeof(array) / sizeof(array[0]); i)array[i] * 2;//打印数组元素for (int* p array; p array sizeof(array) / sizeof(array[0]); p)cout *p endl; }void TestFor2() {int array[] { 1, 2, 3, 4, 5 };//让数组中的元素大小变成原来的二倍for (auto e : array)e * 2;//打印数组元素for (auto e : array)cout e ;}int main() {TestFor2();return 0; } 5、指针空值nullptr  5.1 C98 中的指针空值处理 初始化方式     在 C/C 编程里为避免未初始化指针带来的错误习惯给指针合适初值。在 C98 中当指针无合法指向时常见初始化方式 NULL的本质 NULL 本质是宏在传统 C 头文件 stddef.h 中定义如下 即 NULL 可能被定义为字面常量 0 或无类型指针 (void*) 的常量 。 使用 NULL 的麻烦     这里 f(0) 调用 f(int) 没问题但 f(NULL) 由于 NULL 定义的模糊性既像 0 又像指针可能导致编译器匹配混乱而 f((int*)NULL) 虽然明确转化为指针类型调用 f(int*) 但这种写法不够简洁直观 。 5.2 C11 中 nullptr 的优势 无需额外头文件   nullptr 是 C11 引入的新关键字专门表示指针空值 。使用它时无需包含额外头文件代码简洁性提升。 字节数特性     在 C11 中sizeof(nullptr) 与 sizeof((void*)0) 所占字节数相同 。这意味着 nullptr 在内存占用等底层特性上和传统表示空指针的方式在字节层面有对应关系。 提升代码健壮性     相比 NULL 可能带来的歧义nullptr 明确表示指针空值。在函数重载等场景下能让编译器准确匹配函数减少错误发生概率使代码更健壮。例如之前的 f 函数调用使用 nullptr 就很明确     总结来说nullptr 作为 C11 的新特性解决了 C98 中 NULL 表示指针空值的一些弊端让指针空值的表达更清晰、准确有助于写出更可靠的代码
http://www.zqtcl.cn/news/328891/

相关文章:

  • 微网站和微信广州营销型网站建设团队
  • 企业网站制作托管微信建站网站
  • h5网站如何做排名济南网站建设选聚搜网络
  • 网站建设 手机wordpress 仿煎蛋主题
  • 织梦可以仿所有网站吗电子商务网站建设臧良运课后答案
  • 怎样创建个人购物网站wordpress没有外观
  • 衡水手机网站建设公司计算机大专学历有用吗
  • 有哪些网站做的很好桐乡市建设局官方网站
  • 做公众号和网站一样吗免费正能量网站下载ww
  • 使用帝国做软件下载网站源码顺义区做网站的公司
  • 网站用什么颜色成都网站建设公司服务
  • 重庆手机网站方案设计凡科建站网站怎么保存发给别人
  • 北京住房建设官方网站xampp wordpress服务器
  • 卖衣服的网站建设素材网站免费短视频
  • 萍乡网站建设哪家公司好搜索引擎推广预算
  • 如何做网站不容易被攻击网站定位策划书
  • 自己做网站去哪买服务器多说wordpress
  • 网站排名突然没有了网站开发背景图
  • 比较容易做流量的网站设计模板素材网站
  • 电商网站建设 网站定制开发兰州展柜公司网站建设
  • 临沂城乡建设管理局网站腾讯体育
  • 一个空间怎么放两个网站ps个人网站首页怎么制作
  • 云南通耀建设工程有限公司网站国际购物网站平台有哪些
  • 网站建设外包服务上海网站建设公司怎么分辨好坏
  • 建筑类企业网站模板下载微信搜索推广
  • 上海网站备案在哪里wordpress短链接关键字
  • 金诚财富网站是谁做的建站技术博客
  • 黔东南网站设计公司儿童衣服刘涛做代言那个是什么网站
  • 网站首页样式百度推广是什么工作
  • 广告手机网站制作阿里云域名 设置网站