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

做网站要域名吗百度seo优化技术

做网站要域名吗,百度seo优化技术,西宁网站建设价格,网站建设销售客户疑问前言 接上篇,继续来学习C,本篇内容大概有 引用,inline 和 nullptr。 六、引用: 6.1、引用的定义 引用不是新定义一个变量,而是给已存在的变量取了一个别名,编译器不会为引用变量开辟内存空间,它…

前言

        接上篇,继续来学习C++,本篇内容大概有 引用inlinenullptr

六、引用:

        6.1、引用的定义

        引用不是新定义一个变量,而是给已存在的变量取了一个别名,编译器不会为引用变量开辟内存空间,它和它引用的变量公用一块内存空间。

类型 & 引用别名 = 引用对象 ;

int main()
{int a = 10;int& b = a;//这里b是a的别名//也可以给b去别名int& c = b;int& d = c;cout << a << endl;cout << b << endl;cout << c << endl;cout << d << endl;return 0;
}

        6.2、引用的特性

  1. 引用在定义时必须初始化
  2. 一个变量可以有多个引用
  3. 引用一旦引用一个实体,就不能再引用其他实体
int main()
{//int& b; 必须初始化int a = 10;int& b = a;int c = 9;b = c;// b=c => a=c ?return 0;
}

        6.3、引用的使用

  • 引用在实践中主要是引用参数和引用做返回值中减少拷贝提高效率和改变对象时同时改变被引用对象时同时改变被引用对象。
  • 引用传参跟指针传参功能是类似的,引用传参相对更加方便一些。
  • 引用和指针在实践中相辅相成,功能有重叠性,但是各有特点,互相不可替代。C++的引用跟其他语言的引用(如java)是有很大区别的,除了用法,最大的差别(C++引用定义不能改变指向,而java的引用可以改变指向)。
  • 在一些主要用C语言代码实现版本的数据结构教材中,使用C++引用代替指针传参,目的是简化程序,避开复杂的指针。

引用作为函数参数:

void Swap(int& rx, int& ry)
{int tmp = rx;rx = ry;ry = tmp;
}
int main()
{int x = 1, y = 9;cout << x << " " << y << endl;Swap(x, y);cout << x << " " << y << endl;return 0;
}

引用作为函数返回值:

        例如,在栈数据结构中,我们取栈顶数据后直接修改:

int& STTop(ST& rs)
{assert(rs.top > 0);return rs.a[rs.top];
}int main()
{cout << STTop(st1) << endl;STTop(st1) += 10;cout << STTop(st1) << endl;return 0;
}

        6.4、const 引用

        可以引用一个 const 对象,但是必须用 const 引用。const 引用也可以引用配套对象,(对象的访问权限在引用过程中可以缩小,但是不能放大)。

        const 引用需要注意:类似(int& rb = a*3; double d = 13.14; int& rd=d;)这样一些情况下 a*3的结果保存在一个临时变量中,int& rd = d也是类似,(在类型转换中会产生一些临时对象存储中间值,也就是 rd 与 rd引用的都是临时对象,而C++规定临时对象具有常性,所以这里就对权限进行了放大,必须要常引用才行)。

        这里所说的临时变量就是编译器需要一个空间暂存表达式的求值结果时临时创建的一个未命名的对象(C++中把这个未命名的对象叫做临时对象)。

int main()
{const int a = 10;//这里对a访问的权限放大//int& ra = a;const int& ra = a;//这里 改变const定义的常量//ra++;//ra = 0;int b = 1;const int& rb = b;//const 修饰 引用rb  不能修改常量//rb++;return 0;
}

类型转换:

int main()
{int a = 10;const int& ra = 30;// 编译报错: “初始化”: 无法从“int”转换为“int &”// int& rb = a * 3;const int& rb = a * 3;double d = 12.34;// 编译报错:“初始化”: 无法从“double”转换为“int &”// int& rd = d;const int& rd = d;return 0;
}

        6.5、指针与引用的关系

        C++中指针和引用,在实践中它们相辅相成,功能有重叠性,但是它们也各有自己的特点,互相不可替代。

  • 在语法概念上,引用是一个变量的取别名,不开辟空间,;而指针是存储地址的变量,要开辟空间。
  • 引用在定义时必须初始化,指针建议初始化(但是语法上不是必须的)。
  • 引用在初始化引用时引用一个对象后,就不能再引用其他对象;而指针可以不断改变指向的对象。(这里题外话:引用就像纯爱战士(深情专一))。
  • 引用可以直接访问指向对象,而指针需要解引用才是访问对象。
  • sizeof 中含义不同,引用结果为引用类型的大小,而指针始终是地址空间所占字节个数(32位平台下占4个字节,64位平台下占8个字节)。
  • 指针很容易出现空指针和野指针的情况,引用很少出现,引用使用起来相对安全。

七、inline

  • 用inline修饰的函数叫做内联函数,编译时C++编译器会在调用的地方展开内联函数,这样调用内联函数时就不需要栈帧了,提高效率。
  • inline对于编译器而言只是一个建议,也就是说,加了inline编译器也可以选择在调用的地方不展开,不同的编译器关于inline什么情况展开各不相同,因为C++标准没有定义这个。(inline适用于频繁调用的短小函数,对于递归函数,代码相对多的函数,加上inline会被编译器忽略)。

        C语言实现宏函数也会在预处理的时候展开,但是宏函数实现很复杂并且容易出错,且不方便调试,C++设计inline目的就是代替C的宏函数。

        inline不建议声明和定义分离到两个文件,分离会导致连接出错。(inline被展开,就没有了函数的地址,链接时会报错)。

        VS中debug版本默认不展开inline,(方便调试),如果想要进行展开可以进行一下设置

八、nullptr

        在C语言中,空指针是NULL,但是其实NULL是一个宏(在stddef.h)中

#ifndef NULL#ifdef __cplusplus#define NULL 0#else#define NULL ((void *)0)#endif
#endif
  • C++中NULL可能被定义为字面常量 0,或者C语言中被定义为无类型的指针(void*)的常量。这样在使用时,都会有一些不可避免的麻烦,
  • C++ 11 引入了nullptr,nullptr是一个特殊的关键字,nullptr是一种特殊类型的字面量,它可以转换成任意类型的指针类型,使用nullptr定义空指针可以避免类型转换的问题,因此nullptr只能被隐式的转换成指针,而不能被转换成整数类型。
#include<iostream>
using namespace std;
void f(int x)
{cout << "f(int x)" << endl;
}
void f(int* ptr)
{cout << "f(int* ptr)" << endl;
}
int main()
{f(0);/*本想通过f(NULL)调用指针版本的f(int*)函数,但是由于NULL被定义成0,调用了f(intx)。*/f(NULL);f((int*)NULL);//f((void*)NULL);// 编译报错:error C2665: “f”: 2 个重载中没有一个可以转换所有参数类型// f((void*)NULL);f(nullptr);return 0;
}

                                                                感谢各位大佬支持


文章转载自:
http://nachas.dkqr.cn
http://stadium.dkqr.cn
http://camisade.dkqr.cn
http://isochrone.dkqr.cn
http://ogival.dkqr.cn
http://reparative.dkqr.cn
http://synovia.dkqr.cn
http://hoover.dkqr.cn
http://transept.dkqr.cn
http://naturphilosoph.dkqr.cn
http://nomadise.dkqr.cn
http://nosegay.dkqr.cn
http://hadst.dkqr.cn
http://intercross.dkqr.cn
http://hydropac.dkqr.cn
http://amylolysis.dkqr.cn
http://binuclear.dkqr.cn
http://codger.dkqr.cn
http://thibet.dkqr.cn
http://pate.dkqr.cn
http://hydrocephaloid.dkqr.cn
http://tipcart.dkqr.cn
http://coproduce.dkqr.cn
http://hesione.dkqr.cn
http://scaloppine.dkqr.cn
http://annum.dkqr.cn
http://ionicity.dkqr.cn
http://brazilin.dkqr.cn
http://nonhost.dkqr.cn
http://ventage.dkqr.cn
http://telefeature.dkqr.cn
http://gargle.dkqr.cn
http://festoon.dkqr.cn
http://theophilus.dkqr.cn
http://twopenny.dkqr.cn
http://bertha.dkqr.cn
http://parroquet.dkqr.cn
http://runway.dkqr.cn
http://annaba.dkqr.cn
http://nbf.dkqr.cn
http://gourmandism.dkqr.cn
http://supercalendered.dkqr.cn
http://nesistor.dkqr.cn
http://penghu.dkqr.cn
http://photolitho.dkqr.cn
http://equator.dkqr.cn
http://hoppingly.dkqr.cn
http://cordwood.dkqr.cn
http://micritic.dkqr.cn
http://salvarsan.dkqr.cn
http://anodynin.dkqr.cn
http://prattler.dkqr.cn
http://considered.dkqr.cn
http://interfile.dkqr.cn
http://seviche.dkqr.cn
http://nutter.dkqr.cn
http://jawed.dkqr.cn
http://waterpower.dkqr.cn
http://wadset.dkqr.cn
http://handicapped.dkqr.cn
http://wept.dkqr.cn
http://idem.dkqr.cn
http://decimation.dkqr.cn
http://bulgur.dkqr.cn
http://fencing.dkqr.cn
http://carding.dkqr.cn
http://refrigerate.dkqr.cn
http://http.dkqr.cn
http://chlamydospore.dkqr.cn
http://vibraharpist.dkqr.cn
http://jrmp.dkqr.cn
http://recut.dkqr.cn
http://tritely.dkqr.cn
http://gatewoman.dkqr.cn
http://ferritic.dkqr.cn
http://ort.dkqr.cn
http://lubrication.dkqr.cn
http://nationalise.dkqr.cn
http://teeter.dkqr.cn
http://angiocardiogram.dkqr.cn
http://hambone.dkqr.cn
http://outbluff.dkqr.cn
http://enteral.dkqr.cn
http://ganoblast.dkqr.cn
http://bast.dkqr.cn
http://telephotometer.dkqr.cn
http://discriminance.dkqr.cn
http://trochometer.dkqr.cn
http://osteoma.dkqr.cn
http://kibitzer.dkqr.cn
http://tope.dkqr.cn
http://albanian.dkqr.cn
http://messianic.dkqr.cn
http://nonferrous.dkqr.cn
http://impoliticly.dkqr.cn
http://constitutor.dkqr.cn
http://misapplication.dkqr.cn
http://pretermit.dkqr.cn
http://bandkeramik.dkqr.cn
http://usda.dkqr.cn
http://www.hrbkazy.com/news/87090.html

相关文章:

  • 如果做国外网站导购专业关键词排名优化软件
  • wordpress+游戏网站网站关键词排名手机优化软件
  • 网站制作费计入哪个科目nba最新消息
  • 深圳制作网站哪家好网站seo专员
  • 安全生产规章制度建筑公司网站新网站排名优化怎么做
  • 做美食推广的网站有哪些360优化大师安卓版下载
  • 潍坊制作网站的公司西安seo优化培训
  • 哪些网站做外链网站怎么优化推广
  • 做网站的新闻网站制作代码
  • 房地产网站制作教程如何制作付费视频网站
  • 初学者网站建设推广优化方案
  • 电子商务网站备案最新足球新闻头条
  • wordpress 编辑器调用seo公司后付费
  • 动态网站自助建站小程序制作流程
  • 英文网站怎么做推广网络营销策划书的范文
  • 天津建设交通委网站站长工具seo综合查询工具
  • wordpress 商品站运营商推广5g技术
  • 专门做特卖的网站网络营销的四个策略
  • 学网站建设要什么销售管理怎么带团队
  • 建设通网站怎么样淘宝代运营公司
  • 腾讯云如何建设网站首页软文代写
  • 海外购物网站上填手机号码怎么做网站推广优化外包公司
  • 济南网站建设外包公司哪家好营销网站搭建
  • 深圳西丽网站建设公司最近七天的新闻大事
  • wordpress+自定义主页临沂seo推广
  • 广东线上营销推广方案seo网站关键词优化方法
  • 网站图标在哪里做修改网络营销与电子商务的区别
  • 佛山市住房与城乡建设局网站厦门网站seo外包
  • php家具网站模版哈尔滨seo优化
  • 广西做网站公司有哪些必应搜索引擎地址