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

建站平台和网站建设的区别sem与seo的区别

建站平台和网站建设的区别,sem与seo的区别,宜昌建站,做网站 服务器多少钱一年从C学C(2) 域运算符 :: 双冒号可以构成域标识符,用于访问指定域中的同名变量。如, 用于区分访问全局变量和局部的同名变量 用于表示类成员 new delete 运算符 new 类似于C中的malloc ,用于利用堆空间创建变量, 但new 一个新对…

从C学C++(2)

域运算符

::

双冒号可以构成域标识符,用于访问指定域中的同名变量。如,

  • 用于区分访问全局变量和局部的同名变量

  • 用于表示类成员

new delete 运算符

new

  • 类似于C中的malloc ,用于利用堆空间创建变量,

  • new 一个新对象的时候,不仅会调用内存分配(operator new),还会调用对应类的构造函数。

  • 另外,new 成功的话,会返回分配的首地址,不成功的话,不会像malloc 一样返回 NULL 而是直接抛出异常。

    int *p = new int(3); // new一个int变量,且初值赋3,()用于赋值初值
    char* pStr = new char[50]; //new一个数组,[]用于分配指针(数组)变量,如果new的新数组需要赋初值的话,需要使用for循环挨个赋值。
    

delete

  • 类似于C中的free ,用于释放堆空间,
  • delete 一个对象的时候,还先调用对应类的析构函数,再执行释放内存的操作(operator delete)
delete p; //释放new到的对象
delete [] pStr; //如果new的是指针(数组),delete时也需要带上[].

函数重载(overload)

相同的作用域,如果两个函数名称相同,而参数不同,我们把它们称为重载overload。

重载的函数必须有不同的形式:

  • 形参数量不同
  • 形参类型不同
  • 形参顺序不同
  • 形参的数量和类型都不同。

静态联合和动态联合

函数重载是静态联合,其实现是在编译时就实现了,通过将不同参数形式的同名函数做名字改编(name managling),不同参数形式的同名函数最终的函数名并不相同,编译器在编译时依靠对参数个数、类型、顺序的识别调用对应的函数

因此,如果同名函数参数的个数、类型、顺序完全相同但返回值不同是非法的,这不是函数重载,因为编译器进行名字改编后是同一个函数,会报错函数重定义

动态联合是指在执行的时候才决定使用哪个函数(在类继承中的函数/方法的继承,或者是virtual 指定的虚函数)。

name managling 和extern “C”

C++中默认会对函数进行名字改编(name managling) , 因此,如果和C混合编写时,实际编译时的名字不是我们所写的函数名,为了利于和C混合编写,可以使用 extern "C" 关键字圈定一个环境,这个环境内的函数不会进行名字改变。通常,我们会将C语言中的函数在.h文件中声明时使用extern "C" 进行圈定,这样C语言中的定义和.h的声明可以对应,在CPP文件中调用时也可以找得到。 如下:

#ifdef _cplusplus
extern "C"
{
#endif#ifdef _cplusplus
}
#endif

带默认参数的函数

函数声明或者定义的时候,可以给形参赋一些默认值口调用函数时,若调用时没有给出实参,贝则按指定的默认值进行工作。需要注意的是:

  • 函数没有声明时,在函数定义中指定形参的默认值。

  • 函数既有定义又有声明时,声明时指定后,定义后就不能再指定默认值

  • 默认值的定义必须遵守从右到左的顺序,如果某个形参没有默认值,则它左边的参数就不能有默认值。

    void function(int a, double b=4.5, int c=3); //正确,合法
    void function(int a=1, double b , int c=3); //错误,会报错
    
  • 函数调用时,实参与形参按从左到右的顺序进行匹配。

同时需要格外注意的一点是,如果重载函数中带有默认值参数,可能会产生二义性,当编译器不知道该使用哪个函数的时候,就会报错,如下是二义性的一个例子:

int add(int x, int y);
int add(int a=5, int b=6, int, c=7);
//调用add的时候,如果如下只传入两个参数,编译无法判断是第一个函数调用,还是第二个函数调用,最后一个参数使用默认值的情况,所以会报错。
add(5,9);
http://www.dtcms.com/wzjs/475649.html

相关文章:

  • 晋江做任务的网站现在有哪些推广平台
  • 宣传网站怎么做优化系统的软件
  • 游戏开发学什么专业青岛网站seo分析
  • 东莞优秀网站建设苏州网络推广seo服务
  • 个人做电子商务网站如何在各大平台推广
  • 佛山网站开发哪家专业站长统计网站统计
  • 纯静态网站索引怎么做深圳关键词优化公司哪家好
  • 网站运营计划书如何提高百度搜索排名
  • 网站开发技术指标是什么推广价格一般多少
  • php 网站超市谷歌官网首页
  • 上海网站制作计划企业关键词优化专业公司
  • 工商注册信息查询系统湖南网站优化
  • 建设网站有哪些好处济南网站设计
  • 做网站按什么收费专业推广引流团队
  • mc做地图画网站湖北seo关键词排名优化软件
  • 旅游营销网站开发推广方式有哪些
  • 南通专业网站设计制作南京百度提升优化
  • 专业网站建设大型公司中国站长之家域名查询
  • 钻磊二级域名分发重庆seo网络推广
  • 苏州公司建设网站制作最近军事新闻
  • 山西省城乡和建设厅网站小程序源码网
  • 应持续抓好二级网站的建设工作网络营销方案的范文
  • 做一婚恋网站多少钱网络服务中心
  • 企业画册设计制作公司公司优化是什么意思?
  • 唐山做网站那家好企业文化经典句子
  • 萧县建设局网站东莞网站seo技术
  • 单页网站订单系统怎么改邮箱竞价托管的注意事项
  • 深圳金鼎网站建设重庆人社培训网
  • 网站免费正能量软件直播网络营销策划书
  • 域名 空间 建网站在线培训系统平台