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

湛江制作公司网站杭州做搜索引擎网站的公司

湛江制作公司网站,杭州做搜索引擎网站的公司,网站怎么做文本跳出来,无锡建设厅的官方网站1、C中的动态数组一般是特指vector类 2、vector需要优化的原因之一是当我们push_back元素到数组中时,如果原来分配给动态数组的内存不够用了,那么就会找一块更大的内存空间分配给数组,把旧的内容复制到新的内存中去,这就是导致程…

1、C++中的动态数组一般是特指vector类

2、vector需要优化的原因之一是当我们push_back元素到数组中时,如果原来分配给动态数组的内存不够用了,那么就会找一块更大的内存空间分配给数组,把旧的内容复制到新的内存中去,这就是导致程序性能变慢的原因之一。

了解我们的环境,是优化过程中最重要的事情之一

以下代码会复制3次

#include<iostream>
#include<string>
#include<vector>struct Vertex
{float x,y,z;Vertex(float x,float y,float z):x(x),y(y),z(z){}Vertex(const Vertex& vertex):x(vertex.x),y(vertex.y),z(vertex.z){std::cout<<"Copied!"<<std::endl;}
};std::ostream& operator<<(std::ostream& stream,const Vertex& vertex) //输出运算法重载
{stream << vertex.x <<", "<< vertex.y <<", "<< vertex.z;return stream;
}int main()
{// Vertex* vertices = new Vertex[5];//还是基于堆的固定大小的分配std::vector<Vertex> vertices;//尖括号中是vertices数组中元素的类型vertices.push_back({1,2,3});vertices.push_back({4,5,6});//向数组中添加元素vertices.push_back({7,8,9});std::cin.get();
}

以下代码会复制6次

#include<iostream>
#include<string>
#include<vector>struct Vertex
{float x,y,z;Vertex(float x,float y,float z):x(x),y(y),z(z){}Vertex(const Vertex& vertex):x(vertex.x),y(vertex.y),z(vertex.z){std::cout<<"Copied!"<<std::endl;}
};std::ostream& operator<<(std::ostream& stream,const Vertex& vertex) //输出运算法重载
{stream << vertex.x <<", "<< vertex.y <<", "<< vertex.z;return stream;
}int main()
{// Vertex* vertices = new Vertex[5];//还是基于堆的固定大小的分配std::vector<Vertex> vertices;//尖括号中是vertices数组中元素的类型vertices.push_back(Vertex(1,2,3));vertices.push_back(Vertex(4,5,6));//向数组中添加元素vertices.push_back(Vertex(7,8,9));std::cin.get();
}

为什么会发生这种情况呢?

因为当我们创建vertex时,我们实际上是在主函数的当前栈帧中构造它,所以我们是在main函数的栈上创建它,然后我们需要做的是,是把它放在vector中,所以我们需要做的是把main函数中把这个创建的vertex放在实际的vector中,放在vector分配的内存中。

所以我们可以优化的事情之一是:

事先分配好内存

我们可以在适当的位置(也就是vector分配的内存)构造那个vertex

emplace_back()函数就是在告诉vector:嘿,你给我用1,2,3这些参数创建一个vectex类。这样就是在vector所在的内存创建,从而避免了复制。

http://www.15wanjia.com/news/55413.html

相关文章:

  • 网站后端做留言板功能市场推广方案ppt
  • 触摸屏html网站优化seo搜索
  • 家具公司网站页面设计模板湖南企业网站建设
  • 青岛团购网站建设如何做网站建设
  • wordpress 微信发布文章我赢seo
  • h5自适应网站建设东莞搜索优化
  • 软件开发培训机构找极客时间百度关键词seo外包
  • 西安网站开发工资长沙网站优化方法
  • office2017做网站直播营销的优势有哪些
  • 微网站 无锡电商如何从零做起
  • 网站做三屏合一seo对网店推广的作用
  • 糖果果屋网站建设规划书网络营销的优势和劣势
  • 电商网站建设公司怎么样北京网站seo招聘
  • 建设网站哪家最好seo必备工具
  • 本地运行wordpressseo诊断报告
  • 公众号链接网站都是怎么做的seo是怎么优化的
  • 网站的欢迎页怎么做seo站内优化技巧
  • 昆山外贸型网站制作线上销售培训机构
  • 青岛官网建站哪有恶意点击软件买的
  • 苏州做网站哪家好恢复2345网址导航
  • 企业网站优化链接如何自己建一个网站
  • 全网视频合集网站建设上海搜索推广
  • 公司推广做哪个网站网络电商推广方案
  • wordpress无插件实现网站地图怎样才能在百度上发布信息
  • 途牛旅游网站建设方案品牌线上推广方式
  • 信阳做网站的公司北京优化推广
  • 工程项目建设的八个阶段石家庄谷歌seo公司
  • 品牌网站建设搜搜磐石网络seo技术外包 乐云践新专家
  • 专门做图片的网站有哪些百度快照怎么优化排名
  • 自己做视频网站的流程百度联盟注册