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

谷歌站长平台去招聘网站做顾问

谷歌站长平台,去招聘网站做顾问,html网站支付链接怎么做的,wordpress取消缩略图对象型参数和返回值 1.对象型类型作为函数的参数2.对象型参数作为函数的返回值 1.对象型类型作为函数的参数 使用对象类型作为函数的参数或者返回值,可能会产生一些不必要的中间对象 例子: // 使用对象类型作为函数的参数 void test1(Car car) {}完整代…

对象型参数和返回值

  • 1.对象型类型作为函数的参数
  • 2.对象型参数作为函数的返回值

1.对象型类型作为函数的参数

使用对象类型作为函数的参数或者返回值,可能会产生一些不必要的中间对象

  • 例子:
// 使用对象类型作为函数的参数
void test1(Car car) {}

完整代码如下:

class Car {
public:Car() {cout << "Car() - " << this << endl;}Car(const Car &car) {cout << "Car(const Car &) - " << this << endl;}~Car() {cout << "~Car() - " << this << endl;}void run() {cout << "run()" << endl;}
};// 使用对象类型作为函数的参数
void test1(Car car) {}Car test2() {return Car();
}int main() {Car car1; // Car()test1(car1);getchar();return 0;
}
  • 输出:
    可以看到调用了构造函数,析构函数;
    另外还可以看到程序还调用了一个拷贝调用函数
    也就是car1对象传给test()函数的时候,发现它调用了拷贝调用函数,也就是在这个过程中产生了一个新的中间变量
    在这里插入图片描述
    这样做是不好的,怎么去避免这个问题?

答:把外面的对象传给这个函数,就是希望这个函数里面可以访问到外面对象的一些属性,可以用引用或者指针来代替。

void test1(Car &car) {
}

输出:
在这里插入图片描述
没有调用拷贝构造函数

因此建议函数参数中不要使用对象型类型作为函数参数

2.对象型参数作为函数的返回值

class Car {
public:Car() {cout << "Car() - " << this << endl;}Car(const Car &car) {cout << "Car(const Car &) - " << this << endl;}~Car() {cout << "~Car() - " << this << endl;}void run() {cout << "run()" << endl;}
};
// 对象型参数作为函数的返回值
Car test2() {Car car;return Car();
}int main() {Car car2; // Car()car2 = test2();getchar();return 0;
}
  • 这一次在函数里定义了一个对象,并且返回对象
// 对象型参数作为函数的返回值
Car test2() {Car car;return car;
}

输出结果会发现调用了两次构造函数,一次拷贝构造函数

在这里插入图片描述
首先就是创建对象时,调用了一次

Car car2; // Car()

然后就是在函数里创建对象,又调用了一次

Car test2() {Car car;return car;
}

第三次是函数的返回值返回来一个car对象,这个返回值赋给了 car2 对象,相当于一次浅拷贝

	car2 = test2();

因为函数调用后会自动销毁,里面的栈空间会被回收,但是你还要返回对象值,所以就会提前拷贝构造出一个新的对象,将这个新的对象存在main()的栈空间中。

所以最好不要以对象型类型为函数参数或为返回值,会产生很多不必要的中间变量

http://www.yayakq.cn/news/229956/

相关文章:

  • 帮别人做网站怎么赚钱网络运营推广平台
  • 我要自学网网站建设与管理网站 网页设计
  • 珠海网站建设公司怎么样网页设计的岗位叫什么
  • 公共部门网站建设维护河南住房和城乡建设厅一体化平台网站
  • win7上能否做asp网站广东建设行业招聘 什么网站
  • 本地网站建设多少钱google下载官网
  • 惠州市网站建设个人深圳注册公司费用
  • 网站手机端排名怎么做洛阳制作网站哪家好
  • 列举电子商务网站建设需要的语言长春建筑公司有哪些公司
  • wordpress菜单添加链接地址seo营销型网站
  • 网站制作中帐号登录怎么做为什么网站关键词没有排名
  • 怎样自学网站开发郑州seo技术培训班
  • Dell网站建设建议深圳黄页企业联系方式
  • 网站登录模版营销课程培训
  • 有了域名 建设自己的网站阿里云做的网站这么卡的
  • 金州网站建设wordpress35
  • 网站建设的通知宜宾网站开发公司
  • 网站建设色彩搭配dw不用代码做网页
  • 贵阳网站建设多点互动学校官方网站建设
  • 手机网站开发多少钱中英文网站建设用两个域名
  • 万户建站谷歌字体wordpress主题
  • 帝国网站地图模板营业执照查询系统
  • 织梦网站背景营销型网站建设网站建设资讯
  • 临夏网站建设phpcms模板
  • 搜狐自助建站哪个平台好用搜索引擎营销的内容和层次有哪些
  • VM2008 做网站typo3 wordpress
  • 公司网站建设专家互联网产品推广是做什么的
  • 注销备案号 网站自己做网站需要买哪些
  • 东方城乡与住房建设部网站wordpress中文企业模板下载
  • 澄迈网站新闻建设行业门户网站源码