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

做网站有哪个软件好怎么做公司网站

做网站有哪个软件好,怎么做公司网站,萧山网站优化,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.dt0577.cn/news/27523.html

相关文章:

  • 海尔集团网站的网络营销是什么东莞seo搜索
  • 网站建设基地企业网站优化价格
  • 建管家企业网站南宁百度seo软件
  • 祁东网站开发seo翻译
  • 紫鸟超级浏览器手机版seo网站有哪些
  • 网站炫酷首页seo主要做什么工作
  • 企业网站模板用哪个小程序开发制作
  • 创建一个网站 优帮云网络黄页推广软件哪个好
  • 龙华公司百度关键词快速优化
  • 营销网站开发选哪家seo标题关键词怎么写
  • 用wordpress还是用框架无锡整站百度快照优化
  • 电商网站后台怎么做登封网站关键词优化软件
  • 提供给他人做视频解析的网站源码网络广告公司排名
  • 做网站设计师好吗镇江网页设计
  • 广西自治区住房城乡建设部网站苏州网站建设书生
  • 网站建费用seo推广薪资
  • 文字变形logo设计生成器seo查询站长工具
  • 网站建设上如何提高市场竞争力平面设计培训班学费一般多少
  • 江西省建设招标网站百度网络推广
  • 网站空间到期了福州整站优化
  • 怎么看网站是否织梦东莞seo建站优化工具
  • 外包公司做网站有哪些内容广州seo网站管理
  • 凡诺网站下载整合营销的最高阶段是
  • 醴陵网站设计东莞seo外包平台
  • 网站更新了文章看不到如何做网站优化
  • 怎么做网站推广最有效百度推广官方电话
  • 做网站三级等保多少钱打开全网搜索
  • 网站开发最新书籍市场调研的四个步骤
  • 建设工程信息哪个网站有详细信息百度软件下载安装
  • 医疗网站女性专题网页设计模板seo基础入门