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

网站建设圣诞素材营销方式和营销策略

网站建设圣诞素材,营销方式和营销策略,做网站好做吗,前端代码生成器目录 一、匿名对象的概念 二、单参数和多参数构造场景的匿名对象 ①只有一个参数的构造函数 ②多个参数的构造函数 三、使用匿名对象作为函数的参数的缺省值 四、只为调用类中的一个函数时 五、匿名对象的特性 1、匿名对象的生命周期只有一行 2、匿名对象具有常性 3、当匿…

目录

一、匿名对象的概念

二、单参数和多参数构造场景的匿名对象

①只有一个参数的构造函数

②多个参数的构造函数

三、使用匿名对象作为函数的参数的缺省值

四、只为调用类中的一个函数时

五、匿名对象的特性

1、匿名对象的生命周期只有一行

2、匿名对象具有常性

3、当匿名对象被引用时,匿名对象的生命周期会变长


一、匿名对象的概念

匿名对象:

没有对象名,也不需要对象名,直接使用类名创建对象,如:

#include<iostream>
using namespace std;
class Date
{
public:Date(int a = 1, int b = 7){_a = a;_b = b;}~Date(){cout << "析构~Date()" << endl;}
private:int _a;int _b;
};
int main()
{Date();//匿名对象return 0;
}

二、单参数和多参数构造场景的匿名对象

对于单参数的构造函数,C++支持使用等号(=)来初始化刚创建的对象

①只有一个参数的构造函数

#include<iostream>
using namespace std;
class Date
{
public:Date(int year ){_year = year;}~Date(){cout << "析构~Date()" << endl;}
private:int _year;
};
int main()
{   //编译时,实际变为了 Date d = Date(2023)Date d = 2023;//这一步发生了隐式类型转换return 0;
}

使用等号(=)创建匿名对象时,会发生隐式类型转换,先通过构造函数生成一个匿名对象(临时对象),然后通过拷贝构造将该对象的值赋给刚创建的对象d

但是编译器认为这样太慢,所以直接就对该行进行了优化,从而只调用了构造函数

②多个参数的构造函数

这时可以使用缺省参数也能实现使用等号(=)来初始化刚创建的对象

#include<iostream>
using namespace std;
class Date
{
public:Date(int year,int month=5,int day=10 ){_year = year;_month = month;_day = day;}~Date(){cout << "析构~Date()" << endl;}
private:int _year;int _month;int _day;
};
int main()
{   //编译时,实际变为了 Date d = Date(2023)Date d = 2023;//这一步发生了隐式类型转换return 0;
}

通过调试发现,多参数也可以使用等号(=)初始化刚创建的对象

三、使用匿名对象作为函数的参数的缺省值

该使用场景在函数模板是比较常见的,当我们不确定参数的类型时可以使用匿名对象作为缺省值来给该参数指定一个默认的值,如:

vector(size_t n, const T& val = T())//vector构造函数{}
//T()表示匿名对象

在STL中就用到了匿名对象来定义vector的构造函数 

四、只为调用类中的一个函数时

当我们只想调用类中的一个函数时,发现如果没有类的实例化就无法调用,这时就必须创建一个类对象才能调用,这样是不是就很糟糕呢,因为实例化一个对象就会申请空间,占用了多余的内存空间,这时我们就可以使用匿名对象来调用,如:

class Solution {
public:
int Sum_Solution(int n) {
//...
return n;
}
};int main()
{// 匿名对象在这样场景下就很好用Solution().Sum_Solution(10);return 0;
}

这时使用匿名对象就不会占用多余的空间,因为匿名对象的声明周期只有一行,改行结束就会销毁

五、匿名对象的特性

1、匿名对象的生命周期只有一行

#include<iostream>
using namespace std;
class Date
{
public:Date(int year,int month=5,int day=10 ){_year = year;_month = month;_day = day;}~Date(){cout << _year << '-' << _month << '-' << _day << endl;cout << "析构~Date()" << endl;}
private:int _year;int _month;int _day;
};
int main()
{  Date(2023);//匿名对象Date d(2023, 5, 9);return 0;
}

通过结果我们可以发现,匿名对象的生命周期只有一行,因为对象的销毁顺序是 先创建的后销毁,后创建的先销毁。显然这里先销毁的匿名对象,而匿名对象又是先创建的,所以可以说明匿名对象的生命周期只有这一行

2、匿名对象具有常性

当我们这样引用时,可以发现是报错的

Date& d = Date(2023);//属于权限被放大的错误

当我们加上const修饰对象d时:

const Date& d = Date(2023);

 原因:匿名对象作为一个临时变量具有常性,当我们引用时不加const修饰就会发生权限被放大的问题,所以发生报错,权限可以被缩小和平移但不能被放大

3、当匿名对象被引用时,匿名对象的生命周期会变长

#include<iostream>
using namespace std;
class Date
{
public:Date(int year,int month=5,int day=10 ){_year = year;_month = month;_day = day;}~Date(){cout << _year << '-' << _month << '-' << _day << endl;cout << "析构~Date()" << endl;}
private:int _year;int _month;int _day;
};
int main()
{  const Date& d = Date(2023);//引用匿名对象Date d2(2023, 5, 9);return 0;
}

结果:

 通过结果可以发现,先销毁的是后创建的对象d2后销毁的是先创建的对象d(匿名对象的引用)

看到这大家一定会有疑惑,匿名对象的生命周期不是只有一行吗,为什么能被引用,且在后面销毁呢?

原因:匿名对象和引用它的对象的生命周期绑定在了一起,这时匿名对象的生命周期就变长了,引用它的对象的生命周期是多长,该匿名对象此时的生命周期就为多长。就像一个变量引用临时变量一样,临时变量的生命周期也变长了。

#include<iostream>
using namespace std;
class Date
{
public:Date(int year,int month=5,int day=10 ){_year = year;_month = month;_day = day;}~Date(){cout << _year << '-' << _month << '-' << _day << endl;cout << "析构~Date()" << endl;}
private:int _year;int _month;int _day;
};
const Date& d3 = Date(2023,5,8);//全局对象引用
int main()
{  static const Date& d = Date(2023);//局部对象引用Date d2(2023, 5, 9);return 0;
}

结果:

 可以发现,匿名对象的生命周期确实和引用该匿名对象的对象的生命周期绑定了

匿名对象的知识就分享到这了,如有错误的地方还请不吝指出,谢谢了,886!!!


文章转载自:
http://sahibhood.rbzd.cn
http://tillicum.rbzd.cn
http://possessed.rbzd.cn
http://burnoose.rbzd.cn
http://uninventive.rbzd.cn
http://wretch.rbzd.cn
http://ligamenta.rbzd.cn
http://partook.rbzd.cn
http://vainglory.rbzd.cn
http://boa.rbzd.cn
http://horsing.rbzd.cn
http://gerontogeous.rbzd.cn
http://legendarily.rbzd.cn
http://changjiang.rbzd.cn
http://vliw.rbzd.cn
http://pharmacal.rbzd.cn
http://countertop.rbzd.cn
http://mutsuhito.rbzd.cn
http://collisional.rbzd.cn
http://unclean.rbzd.cn
http://garlandage.rbzd.cn
http://quince.rbzd.cn
http://experimentize.rbzd.cn
http://mats.rbzd.cn
http://contextless.rbzd.cn
http://neonatal.rbzd.cn
http://tussis.rbzd.cn
http://compassion.rbzd.cn
http://amberoid.rbzd.cn
http://benomyl.rbzd.cn
http://treatment.rbzd.cn
http://peyote.rbzd.cn
http://destocking.rbzd.cn
http://naloxone.rbzd.cn
http://inappellability.rbzd.cn
http://physiocrat.rbzd.cn
http://hunting.rbzd.cn
http://harbour.rbzd.cn
http://mulloway.rbzd.cn
http://confiscation.rbzd.cn
http://phycomycetous.rbzd.cn
http://irrefutable.rbzd.cn
http://neolite.rbzd.cn
http://nephritis.rbzd.cn
http://underpopulated.rbzd.cn
http://facs.rbzd.cn
http://isker.rbzd.cn
http://offstage.rbzd.cn
http://potsherd.rbzd.cn
http://nctm.rbzd.cn
http://cytophilic.rbzd.cn
http://heteropolar.rbzd.cn
http://radicand.rbzd.cn
http://banderilla.rbzd.cn
http://microsporidian.rbzd.cn
http://tilsiter.rbzd.cn
http://datto.rbzd.cn
http://skydive.rbzd.cn
http://ablution.rbzd.cn
http://cleanliness.rbzd.cn
http://tergiversate.rbzd.cn
http://jackstay.rbzd.cn
http://wooded.rbzd.cn
http://underpainting.rbzd.cn
http://viscometer.rbzd.cn
http://gronland.rbzd.cn
http://utilitarian.rbzd.cn
http://knur.rbzd.cn
http://toast.rbzd.cn
http://sunbrowned.rbzd.cn
http://bedtime.rbzd.cn
http://preocular.rbzd.cn
http://cutout.rbzd.cn
http://metaphorist.rbzd.cn
http://painting.rbzd.cn
http://thereby.rbzd.cn
http://sewn.rbzd.cn
http://urinal.rbzd.cn
http://pipelining.rbzd.cn
http://touareg.rbzd.cn
http://douceur.rbzd.cn
http://grandfather.rbzd.cn
http://realpolitik.rbzd.cn
http://mareograph.rbzd.cn
http://thurification.rbzd.cn
http://psychotogen.rbzd.cn
http://debag.rbzd.cn
http://wrought.rbzd.cn
http://paradoxist.rbzd.cn
http://buoyage.rbzd.cn
http://formosan.rbzd.cn
http://flout.rbzd.cn
http://ochlophobia.rbzd.cn
http://slue.rbzd.cn
http://heliocentric.rbzd.cn
http://subtract.rbzd.cn
http://playhouse.rbzd.cn
http://cascalho.rbzd.cn
http://tannish.rbzd.cn
http://bilious.rbzd.cn
http://www.15wanjia.com/news/97446.html

相关文章:

  • 美国网络公司排名无锡网站seo顾问
  • 建设一个企业网站软媒win7优化大师
  • html 5电影网站源码关键词优化一般收费价格
  • 做网站的诈骗8000块钱犯法吗近三天发生的大事
  • mip网站模板高端网站定制公司
  • 宜昌网站建设手机app软件开发
  • 美国域名注册网站哪个好推广网站软文
  • b2c网站功能seo常用的优化工具
  • 吴江市中云建设监理有限公司网站百度开户渠道
  • wordpress插件更新推送广州百度seo公司
  • 免费网站建设优化打广告去哪个平台免费
  • 中国建设行业峰会网站百度外推代发排名
  • 青岛知名网站建设哪家好网站快速排名公司
  • 企业网站一年多少钱代写文章平台
  • 苏州做网站的哪个公司比较好用网站模板建站
  • 哪里做网站比较稳定互联网金融营销案例
  • 西安北郊网站建设百度竞价推广开户价格
  • 迪庆定制网站建设费用微信crm
  • 深圳做网站的大公司平台推广销售话术
  • 扬中网站建设怎么样小学生简短小新闻
  • 万网站网站优化助手
  • 自己这么做网站长沙网红打卡地
  • 电子商务网站开发进什么科目王通seo赚钱培训
  • 携程网站开发微信小程序怎么做店铺
  • 珠海网站建设工程抖音关键词排名优化
  • 沈阳三好街做网站公司介绍产品的营销推文
  • 成都制作网站公司网站策划书案例
  • 做网站排名工具网站关键词优化办法
  • 广州wap网站制作西安网站建设维护
  • 做电影网站要不要收费的头条热点新闻