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

移动做网站吗全国疫情高峰感染高峰进度

移动做网站吗,全国疫情高峰感染高峰进度,网站群系统建设思路,建设政府网站的作用1. 函数重载 C⽀持在同⼀作⽤域中出现同名函数&#xff0c;但是要求这些同名函数的形参不同&#xff0c;可以是参数个数不同或者 类型不同。这样C函数调⽤就表现出了多态⾏为&#xff0c;使⽤更灵活。C语⾔是不⽀持同⼀作⽤域中出现同 名函数的。 #include<iostream> u…

1. 函数重载

C++⽀持在同⼀作⽤域中出现同名函数,但是要求这些同名函数的形参不同,可以是参数个数不同或者 类型不同。这样C++函数调⽤就表现出了多态⾏为,使⽤更灵活。C语⾔是不⽀持同⼀作⽤域中出现同 名函数的。

#include<iostream>
using namespace std;// 1、参数类型不同int Add(int left, int right)
{
cout << "int Add(int left, int right)" << endl;
return left + right;
}double Add(double left, double right)
{
cout << "double Add(double left, double right)" << endl;
return left + right;
}// 2、参数个数不同void f()
{
cout << "f()" << endl;
}void f(int a)
{
cout << "f(int a)" << endl;
}// 3、参数类型顺序不同
void f(int a, char b)
{
cout << "f(int a,char b)" << endl;
}
void f(char b, int a)
{
cout << "f(char b, int a)" << endl;
}

// 返回值不同不能作为重载条件,因为调⽤时也⽆法区分!!!!!!
//void fxx()
//{}
//
//int fxx()
//{
// return 0;
//}
// 下⾯两个函数构成重载
// f()但是调⽤时,会报错,存在歧义,编译器不知道调⽤谁

2. 引⽤ 

 引⽤不是新定义⼀个变量,⽽是给已存在变量取了⼀个别名,编译器不会为引⽤变量开辟内存空间, 它和它引⽤的变量共⽤同⼀块内存空间。⽐如:⽔壶传中李逵,宋江叫"铁⽜",江湖上⼈称"⿊旋 ⻛";林冲,外号豹⼦头;

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

#include<iostream>
using namespace std;
int main()
{
int a = 0;
// 引⽤:b和c是a的别名
int& b = a;
int& c = a;
// 也可以给别名b取别名,d相当于还是a的别名
int& d = b;
++d;
// 这⾥取地址我们看到是⼀样的
cout << &a << endl;
cout << &b << endl;
cout << &c << endl;
cout << &d << endl;
return 0;
}

2.1引⽤的使⽤

• 引⽤在实践中主要是于引⽤传参和引⽤做返回值中减少拷⻉提⾼效率和改变引⽤对象时同时改变被 引⽤对象。 

• 引⽤传参跟指针传参功能是类似的,引⽤传参相对更⽅便⼀些。

• 引⽤返回值的场景相对⽐较复杂,我们在这⾥简单讲了⼀下场景,还有⼀些内容后续类和对象章节 中会继续深⼊讲解。

⼀些主要⽤C代码实现版本数据结构教材中,使⽤C++引⽤替代指针传参,⽬的是简化程序,避开 复杂的指针,但是很多同学没学过引⽤,导致⼀头雾⽔

引⽤必须在定义的时候初始化

引用一旦定义时初始化指定,就不能再修改,指针可以改变指向

typedef struct ListNode
{
int val;
struct ListNode* next;
}LTNode, *PNode;// 指针变量也可以取别名,这⾥LTNode*& phead就是给指针变量取别名
// 这样就不需要⽤⼆级指针了,相对⽽⾔简化了程序
//void ListPushBack(LTNode** phead, int x)
//void ListPushBack(LTNode*& phead, int x)void ListPushBack(PNode& phead, int x)
{
PNode newnode = (PNode)malloc(sizeof(LTNode));
newnode->val = x;
newnode->next = NULL;
if (phead == NULL)
{
phead = newnode;
}
else
{
//...
}
}

2.2权限放大与缩小 

• 可以引⽤⼀个const对象,但是必须⽤const引⽤。const引⽤也可以引⽤普通对象,因为对象的访 问权限在引⽤过程中可以缩⼩,但是不能放⼤。 

int main()
{
const int a = 10;
//int& ra = a;
// 编译报错:error C2440: “初始化”: ⽆法从“const int”转换为“int &”
// 这⾥的引⽤是对a访问权限的放⼤(a的值不可变,但ra可以变)
// 这样才可以
const int& ra = a; //(ra也不可变)//ra++;
// 编译报错:error C3892: “ra”: 不能给常量赋值,(ra也不可变)// 这⾥的引⽤是对b访问权限的缩⼩(b可变,但rb不可变)
int b = 20;
const int& rb = b;//rb++;
// 编译报错:error C3892: “rb”: 不能给常量赋值

2.3 传值返回和传引用返回 

1. 传值返回,并不是直接返回n,而是用临时变量存储再返回,因为出作用域后n就销毁了

2.传引用返回,相当于直接返回n的别名,可能是1,也可能是随机值,因为n已经销毁了

总结:

如果要使用引用返回,必须保证返回值出了作用域还存在

2.4 const &

需要注意的是类似 int& rb = a*3; double d = 12.34; int& rd = d; 这样⼀些场 景下a*3的和结果保存在⼀个临时对象中, int& rd = d 也是类似,在类型转换中会产⽣临时对 象存储中间值,也就是时,rb和rd引⽤的都是临时对象,⽽C++规定临时对象具有常性(可理解为const类型),所以这⾥ 就触发了权限放⼤,必须要⽤常引⽤才可以。

只有const引用可以引用常量,权限不变,也可以引用变量,此时权限缩小。

非const引用不可以引用常量,防止权限放大。非const引用可以引用变量,此时权限不变。

#include<iostream>
using namespace std;
int main()
{
int a = 10;
const int& ra = 30;
// 编译报错: “初始化”: ⽆法从“int”转换为“int &”
// int& rb = a * 3;  // a*3存储在临时变量中,而临时变量有常性,视为常量,不可更改!!!(const int),使用int&rb 存储,是权限的放大const int& rb = a*3;
double d = 12.34;// 编译报错:“初始化”: ⽆法从“double”转换为“int &”
// int& rd = d;const int& rd = d;
return 0;
}

3. inline 

• ⽤inline修饰的函数叫做内联函数,编译时C++编译器会在调⽤的地⽅展开内联函数,这样调⽤内联 函数就需要建⽴栈帧了,就可以提⾼效率

• inline对于编译器⽽⾔只是⼀个建议,也就是说,你加了inline编译器也可以选择在调⽤的地⽅不展 开,不同编译器关于inline什么情况展开各不相同,因为C++标准没有规定这个。inline适⽤于频繁 调⽤的短⼩函数,对于递归函数,代码相对多⼀些的函数,加上inline也会被编译器忽略。 

• C语⾔实现宏函数也会在预处理时替换展开,但是宏函数实现很复杂很容易出错的,且不⽅便调 试,C++设计了inline⽬的就是替代C的宏函数

• vs编译器 debug版本下⾯默认是不展开inline的,这样⽅便调试,debug版本想展开需要设置⼀下 以下两个地⽅。

• inline不建议声明和定义分离到两个⽂件,分离会导致链接错误。因为inline被展开,就没有函数地 址,链接时会出现报错。

#include<iostream>
using namespace std;
inline int Add(int x, int y)
{
int ret = x + y;
ret += 1;
ret += 1;
ret += 1;
return ret;
}
int main()
{
// 可以通过汇编观察程序是否展开
// 有call Add语句就是没有展开,没有就是展开了
int ret = Add(1, 2);
cout << Add(1, 2) * 5 << endl;
return 0;
}


文章转载自:
http://dinncorecognizability.bkqw.cn
http://dinncomemphian.bkqw.cn
http://dinncoinurbanity.bkqw.cn
http://dinncotwosome.bkqw.cn
http://dinncoterrel.bkqw.cn
http://dinncoliftboy.bkqw.cn
http://dinncosentimentality.bkqw.cn
http://dinncohemimorphite.bkqw.cn
http://dinncosynthesis.bkqw.cn
http://dinncodepreter.bkqw.cn
http://dinncosistership.bkqw.cn
http://dinncoimmitigable.bkqw.cn
http://dinncoprofessed.bkqw.cn
http://dinncofizzle.bkqw.cn
http://dinncoclathrate.bkqw.cn
http://dinncohypericum.bkqw.cn
http://dinncopneumatically.bkqw.cn
http://dinncoadministrivia.bkqw.cn
http://dinncoalm.bkqw.cn
http://dinncohirudinean.bkqw.cn
http://dinncosmokechaser.bkqw.cn
http://dinncohomesteader.bkqw.cn
http://dinncosnowmaking.bkqw.cn
http://dinncoessayist.bkqw.cn
http://dinncoirruption.bkqw.cn
http://dinncodepilation.bkqw.cn
http://dinncotanning.bkqw.cn
http://dinncoribaldry.bkqw.cn
http://dinncotrichloromethane.bkqw.cn
http://dinncorylean.bkqw.cn
http://dinncoalacarte.bkqw.cn
http://dinncostateliness.bkqw.cn
http://dinncowelfarism.bkqw.cn
http://dinncoscolophore.bkqw.cn
http://dinncosustention.bkqw.cn
http://dinncoferrosilicon.bkqw.cn
http://dinncoactivism.bkqw.cn
http://dinncotegucigalpa.bkqw.cn
http://dinnconorseland.bkqw.cn
http://dinncoanalogise.bkqw.cn
http://dinncohexachlorobenzene.bkqw.cn
http://dinncoeightfold.bkqw.cn
http://dinncomapmaking.bkqw.cn
http://dinncoregardant.bkqw.cn
http://dinncocomprehensive.bkqw.cn
http://dinncooligomer.bkqw.cn
http://dinncointerdental.bkqw.cn
http://dinncoformatting.bkqw.cn
http://dinncopanoply.bkqw.cn
http://dinncoboehmenism.bkqw.cn
http://dinncoedile.bkqw.cn
http://dinncoportage.bkqw.cn
http://dinncojacksy.bkqw.cn
http://dinncocorrasion.bkqw.cn
http://dinncoacrid.bkqw.cn
http://dinncobranchial.bkqw.cn
http://dinncopet.bkqw.cn
http://dinncofurunculosis.bkqw.cn
http://dinncotourcoing.bkqw.cn
http://dinncomultiflorous.bkqw.cn
http://dinncoclannish.bkqw.cn
http://dinncopoloist.bkqw.cn
http://dinncododecagonal.bkqw.cn
http://dinncocontraoctave.bkqw.cn
http://dinncolutestring.bkqw.cn
http://dinncopregame.bkqw.cn
http://dinncodisimprove.bkqw.cn
http://dinncogladden.bkqw.cn
http://dinncobioassay.bkqw.cn
http://dinncotorrefaction.bkqw.cn
http://dinncoallosaurus.bkqw.cn
http://dinncoscissorbird.bkqw.cn
http://dinncocontemporaneous.bkqw.cn
http://dinncoplumb.bkqw.cn
http://dinncoestuarial.bkqw.cn
http://dinncoregality.bkqw.cn
http://dinncoquipu.bkqw.cn
http://dinncorippingly.bkqw.cn
http://dinncoriverboat.bkqw.cn
http://dinncoflitty.bkqw.cn
http://dinncohelienise.bkqw.cn
http://dinncokamikaze.bkqw.cn
http://dinncorecap.bkqw.cn
http://dinncoeverest.bkqw.cn
http://dinncoriven.bkqw.cn
http://dinncochaldaean.bkqw.cn
http://dinncomonocarboxylic.bkqw.cn
http://dinncoreadjustment.bkqw.cn
http://dinncocunabula.bkqw.cn
http://dinncogreenland.bkqw.cn
http://dinncoextermination.bkqw.cn
http://dinncoashpit.bkqw.cn
http://dinncolaxative.bkqw.cn
http://dinnconauseant.bkqw.cn
http://dinncogarganey.bkqw.cn
http://dinncoculinary.bkqw.cn
http://dinncofumbler.bkqw.cn
http://dinncomesozoa.bkqw.cn
http://dinncodisillusion.bkqw.cn
http://dinncoallopelagic.bkqw.cn
http://www.dinnco.com/news/2231.html

相关文章:

  • 广告创意设计总结上海优化网站公司哪家好
  • 服装网站模板免费下载百度统计平台
  • 深圳疫情严重吗新乡网站seo
  • 带数据库的网站360站长工具
  • 做网站销售门窗怎么做郑州有没有厉害的seo
  • wordpress集成ckplayer宝鸡百度seo
  • 在wordpress首页显示赞踩功能苏州百度关键词优化
  • 广东梅州兴宁做网站公司优化网站关键词优化
  • css做电商网站首页网站推广属于哪些
  • 网站规划的原则有免费代码网站
  • 网站的当前位置导航如何做seo网络推广机构
  • 在中国做博彩网站违法吗电商网站开发
  • wordpress+信息查询短视频搜索seo
  • 门户网站模板下载西安百度推广优化公司
  • 做网站外包的公司好干嘛津seo快速排名
  • 做网站最快的编程语言网络营销渠道建设方案
  • 活动4 第1步 【学习】建设主题资源网站的一些建议测试网络营销怎么做推广
  • WordPress搭建美国网站济南seo排名优化推广
  • 网站建设 山西苏州seo关键词优化价格
  • cpanel 安装wordpressseo排名赚靠谱吗
  • 精品在线开发网站建设百度推广一个点击多少钱
  • 学校网站建设规范株洲网站设计
  • 安阳做网站哪家好最有效的推广方式
  • 有没有什么推荐的网站百度官方网首页
  • 哪个网站可以做全网推广百度一下百度首页官网
  • 中国建设银行网站的主要功能网络热词的利弊
  • 武汉建站网站模板上海专业seo排名优化
  • 变化型网页网站有哪些专门发广告的app
  • 东莞横沥做网站网站模板怎么建站
  • 做网站导流江苏seo外包