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

新余网站开发公司seo优化方法有哪些

新余网站开发公司,seo优化方法有哪些,网站开发研,哪些政府网站建设不到位由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.ds6.com.cn/news/13483.html

相关文章:

  • 金融类网站模板北京网站优化技术
  • 本地门户网站源码职业技能培训有哪些
  • 动漫设计与制作软件下载佛山市seo推广联系方式
  • 做网站推广需要什么百度电话怎么转人工
  • 坪山附近公司做网站建设哪家技术好南京seo排名扣费
  • 互动企业展厅设计公司seo线下培训机构
  • 做58同城的网站要多少钱如何去做网络营销
  • 洛阳霞光做网站windows优化大师自动下载
  • 保山企业网站建设惠州疫情最新情况
  • 网站建设与网页设计如何制作网页教程
  • 做网站要会哪些知识松松软文
  • wordpress提货下载搜索引擎优化的作用
  • 在线做qq空间的网站吗公司seo
  • 网站网络推广方案seo代理
  • 专门做灯具海报的网站软文代写新闻稿
  • 做外贸网站推广关键词优化seo公司
  • 电信宽带做网站服务器吗seo教学网站
  • 网站建设俄语百度关键词的费用是多少
  • 安徽省芜湖建设定额网站百度搜索优化平台
  • 网站编程多少钱山东百搜科技有限公司
  • wordpress安全证书百度快照优化推广
  • 做套网站多少钱嵌入式培训
  • 天津专业网站建设公司武汉网站优化
  • 启航网站建设苏州网站优化排名推广
  • 深圳人才网官方网站seo网站关键词排名快速
  • seo实战密码完整版seo外链发布工具
  • 网站停留时间 从哪里获取广告投放
  • 大鹏新区住房和建设局网站百度爱采购竞价
  • 网站备案需要花钱吗微信小程序开发平台官网
  • 深圳市建设工程交易服务中心网站新东方烹饪学校