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

新余网站开发公司推广软文是什么

新余网站开发公司,推广软文是什么,怎么用腾讯云做网站,php做的网站代码由C语言发展而来的一种面向对象的编程语言。 第一部分、从C语言到C 本章讲述 C 语言的简史,以及 C 语言中与面向对象关系不大、C语言中没有的特性。这些特性能够增加编程的便利性,提高程序的可扩充性。 十三、如何规范地使用C内联函数 inline 关键字…

由C语言发展而来的一种面向对象的编程语言。

第一部分、从C语言到C++

本章讲述 C++ 语言的简史,以及 C++ 语言中与面向对象关系不大、C语言中没有的特性。这些特性能够增加编程的便利性,提高程序的可扩充性。

十三、如何规范地使用C++内联函数

inline 关键字可以只在函数定义处添加,也可以只在函数声明处添加,也可以同时添加;但是在函数声明处添加 inline 关键字是无效的,编译器会忽略函数声明处的 inline 关键字。也就是说,inline 是一种“用于实现的关键字”,而不是一种“用于声明的关键字”。

尽管大多数教科书中在函数声明和函数定义处都增加了 inline 关键字,但我认为 inline 关键字不应该出现在函数声明处。这个细节虽然不会影响函数的功能,但是体现了高质量 C++ 程序设计风格的一个基本原则:声明与定义不可混为一谈,用户没有必要、也不应该知道函数是否需要内联。

更为严格地说,内联函数不应该有声明,应该将函数定义放在本应该出现函数声明的地方,这是一种良好的编程风格。

在多文件编程中,我们通常将函数的定义放在源文件中,将函数的声明放在头文件中,希望调用函数时,引入对应的头文件即可,我们鼓励这种将函数定义和函数声明分开的做法。但这种做法不适用于内联函数,将内联函数的声明和定义分散到不同的文件中会出错,请看下面的例子。

main.cpp 代码:

#include <iostream>
using namespace std;//内联函数声明
void func();int main(){func();return 0;
}

module.cpp 代码:

#include <iostream>
using namespace std;//内联函数定义
inline void func(){cout<<"inline function"<<endl;
}

上面的代码能够正常编译,但在链接时会出错。func() 是内联函数,编译期间会用它来替换函数调用处,编译完成后函数就不存在了,链接器在将多个目标文件(.o.obj文件)合并成一个可执行文件时找不到 func() 函数的定义,所以会产生链接错误。

内联函数虽然叫做函数,在定义和声明的语法上也和普通函数一样,但它已经失去了函数的本质。函数是一段可以重复使用的代码,它位于虚拟地址空间中的代码区,也占用可执行文件的体积,而内联函数的代码在编译后就被消除了,不存在于虚拟地址空间中,没法重复使用。

如果你对虚拟地址空间或代码区的概念不了解,请阅读 《C语言内存精讲》专题。

内联函数看起来简单,但是有很多细节需要注意,从代码重复利用的角度讲,内联函数已经不再是函数了。我认为将内联函数作为带参宏的替代方案更为靠谱,而不是真的当做函数使用。

在多文件编程时,我建议将内联函数的定义直接放在头文件中,并且禁用内联函数的声明(声明是多此一举)。


十四、C++函数的默认参数详解

在C++ 中,定义函数时可以给形参指定一个默认的值,这样调用函数时如果没有给这个形参赋值(没有对应的实参),那么就使用这个默认的值。也就是说,调用函数时可以省略有默认值的参数。如果用户指定了参数的值,那么就使用用户指定的值,否则使用参数的默认值。

所谓默认参数,指的是当函数调用中省略了实参时自动使用的一个值,这个值就是给形参指定的默认值。下面是一个简单的示例:

#include<iostream>
using namespace std;//带默认参数的函数
void func(int n, float b=1.2, char c='@'){cout<<n<<", "<<b<<", "<<c<<endl;
}int main(){//为所有参数传值func(10, 3.5, '#');//为n、b传值,相当于调用func(20, 9.8, '@')func(20, 9.8);//只为n传值,相当于调用func(30, 1.2, '@')func(30);return 0;
}

运行结果:
10, 3.5, #
20, 9.8, @
30, 1.2, @

本例定义了一个带有默认参数的函数 func(),并在 main() 函数中进行了不同形式的调用。为参数指定默认值非常简单,直接在形参列表中赋值即可,与定义普通变量的形式类似。

指定了默认参数后,调用函数时就可以省略对应的实参了。

默认参数除了使用数值常量指定,也可以使用表达式指定,例如:

float d = 10.8;

void func(int n, float b=d+2.9, char c='@'){

        cout<<n<<", "<<b<<", "<<c<<endl;

}

C++规定,默认参数只能放在形参列表的最后,而且一旦为某个形参指定了默认值,那么它后面的所有形参都必须有默认值。实参和形参的传值是从左到右依次匹配的,默认参数的连续性是保证正确传参的前提。

下面的写法是正确的:

void func(int a, int b=10, int c=20){ }

void func(int a, int b, int c=20){ }

但这样写不可以:

void func(int a, int b=10, int c=20, int d){ }

void func(int a, int b=10, int c, int d=20){ }

默认参数并非编程方面的重大突破,而只是提供了一种便捷的方式。在以后设计类时你将发现,通过使用默认参数,可以减少要定义的析构函数、方法以及方法重载的数量。

本节的例子中,我们在函数定义处指定了默认参数。除了函数定义,你也可以在函数声明处指定默认参数。不过当出现函数声明时情况会变得稍微复杂,很多书籍也对这点含糊其辞,我们将在下节《十五、到底在声明中还是定义中指定默认参数》中详细讲解。

http://www.mmbaike.com/news/62274.html

相关文章:

  • crm客户管理系统免费软件seo优化教程下载
  • 重庆建站多少钱一年免费建网页
  • destoon做的网站对网络营销的认识有哪些
  • 电子商务网站的建设与规划书网站维护推广的方案
  • 海湾网站建设成人职业技能培训学校
  • 商丘优化公司杭州seo服务公司
  • 论坛推广网站seo推广怎么做视频教程
  • 网站模板图册seo入门视频
  • 深圳生活免费信息网重庆seo和网络推广
  • 网站内容侵权 怎么做近10天的时政新闻
  • 官方网站做兼职进入百度app查看
  • 极客wordpress主题企业网站优化外包
  • 教做软件的网站杭州做网站的公司排行
  • 口腔医院东莞网站建设宁波关键词优化企业网站建设
  • 啊里网站制作上海做网络口碑优化的公司
  • 常用网站建设技术有哪些百度游戏排行榜风云榜
  • 网站建设合同验收大连seo外包平台
  • 怎么做创意短视频网站靠谱的拉新平台
  • 织梦大气蓝色门户资讯网站模板seo 推广教程
  • sketch视频教程网站卡点视频软件下载
  • 计算机学院网站建设南京网络建站公司
  • 游戏币网站怎么做商品推广与营销的方式
  • 南城网站建设公司信息手机制作网页
  • 深圳专业做网站设计品牌推广外包
  • wordpress 403错误重庆seo网站建设
  • wordpress加载用时seo关键词排名网络公司
  • 电子商务网站建设与管理思考与练习友情链接适用网站
  • 生鲜网站策划sem优化推广
  • 怎么投诉网络平台谷歌seo代运营
  • 企业手机网站建设机构软文推广发稿