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

成都网站建设cdcidiwordpress博客主机选择

成都网站建设cdcidi,wordpress博客主机选择,seo建站是什么意思,wordpress主题两边空白区域怎么添加图案如果写出vector这个类的时候不用缺省值#xff0c;也不用初始化列表 那么可以编写如下构造函数#xff0c;利用半缺省参数给没有初始化的vector实例进行赋空 但如果存在下面这两句话的设计 template class InputIterator vector(Inp…        如果写出vector这个类的时候不用缺省值也不用初始化列表         那么可以编写如下构造函数利用半缺省参数给没有初始化的vector实例进行赋空         但如果存在下面这两句话的设计         template class InputIterator         vector(InputIterator first, InputIterator last)         则在调用的时候写下后面的代码vectorint v1(10, 1);           将不会调用vector(size_t n, const T val T())         因为还要对10进行类型转换          编译器去找的时候会去找vector(InputIterator first, InputIterator last)         作为更匹配的构造函数因为其类型更匹配         所以实际上C标准库中将这种构造函数设计成         vector(size_t n, const T val T());         vector(int n, const T val T());  这两个版本  想要支持 将字符数组 / 整型数组直接作为vector 的构造函数的实参         必须在initializer_listT 已经设计完毕的基础上         initializer_listT是一个类                 其成员变量中有两个迭代器是数组的首尾指针                 其成员函数中有size反映数组中的元素个数          注意              1. vectorint v1 { 1, 2, 3, 4, 5, 6, 7, 8 };这句话合法                 合法的原因                    在创建临时变量实例时vectorint tmp({ 1, 2, 3, 4, 5, 6, 7, 8 });合法              2. vectorint v1 { 1, 2, 3, 4, 5, 6, 7, 8 };                 看起来就像发生了隐式类型转换 类中的成员函数可以是一个模板函数         那么构造函数可以用一下的形式进行编写通过两个迭代器实现 注意下面的memcpy不能保证深拷贝                     因为如果 此时vector中存放的都是string类型的变量                     那么memcpy只会把_start中每个string的实例中的成员变量                         依次赋值给tmp由于string的成员变量是:_arr; _size; _capacity                         所以此时只会让tmp中的每个string实例中的成员和_start中的地址相同                     那么对tmp 和_start进行析构时将会对同一块空间析构两次                   所以应该使用自定义类型本身的赋值重载实现地址的深拷贝 如果用模板 迭代器的形式实现构造函数         那么迭代器可以将字符型指针作为迭代器传入到一个以int类型为内容的vector容器中 实际上C库中把 { 1, 2, 3, 4, 5, 6, 7, 8 }这种变量          直接封装成了一个类该类的类型为initializer_listint          即下面的代码中x 是initializer_listint 类型的变量          std::vectorint v1 { 1, 2, 3, 4, 5, 6, 7, 8 };这句话能执行          本质上是因为库中写了一个vector(initializer_listT arr);的构造函数                    下面说明std::vectorint v1 { 1, 2, 3, 4, 5, 6, 7, 8 };这句话的执行过程                    先利用{ 1, 2, 3, 4, 5, 6, 7, 8 }这个initializer_listint 类型的变量          执行vectorint tmp({ 1, 2, 3, 4, 5, 6, 7, 8 });          调用vector中单参数的构造函数          产生一个vectorint类型的临时变量          再将调用 vector中的拷贝构造拷贝构造传入的形参就是这个临时变量          这也说明了在设计 拷贝构造 和 push_back 这样的成员函数时          需要对形参的类型加一个const限定  删除偶数         下面的程序加else是必须的这是因为迭代器不同域数组下标         执行erase方法之后会立马将后面的所有元素往前移动         那么此时如果要实现删除偶数只能通过it;         对于VS平台下其C库中要求只要使用了erase方法         要想继续使用iterator只能通过erase方法的返回值更新迭代器          此时VS下的erase方法将会返回当前删除的元素对应的迭代器          注意此时的迭代器不是指针不是指针这一点是和linux平台下是不同的
http://www.zqtcl.cn/news/987674/

相关文章:

  • 做ppt哪些网站的图片质量高做电商网站需要多少时间
  • 个人网站模板源码wordpress流动公告
  • html5 手机 网站盘锦建设工程信息网站
  • 高端企业网站定制公司wordpress喜欢_赏_分享
  • 网站开发推广方案策划书开发公司移交给物业资料说明
  • 做响应式网站的菜单中国造价网官网
  • 爱心捐赠网站怎么做中国机械网官网
  • 好的ftp网站微信小程序开发基础
  • 西安 网站 公司wordpress+帖子置顶
  • 广州开发网站服务上海千途网站建设
  • 网站建设功能分为几种百度搜索数据
  • 电影网站模板html微信开发者代码管理
  • 小程序ui界面设计手机优化大师官网
  • 佳木斯市建设局网站网络游戏名
  • 建筑钢结构网站汉阳网站建设哪家便宜
  • 营销型网站建设评价临湘网站建设
  • 做网站的价格参考巴中建网站的公司
  • 张家口建设网站网络技术工程师
  • 大型网站后台登录地址一般是如何设置的哪里网站用vue.js做的
  • 网页设计规范图标设计百度seo优化多少钱
  • 网站打开速度概念建筑网站知乎
  • 网站的flash怎么做的杭州市城乡建设网官网
  • 宿迁网站建设排名wordpress多站点可视化
  • 苏州好的做网站的公司哪家好前端如何做响应式网站
  • 广州网站建设招标推广方式有哪些渠道
  • 郑州做网站狼牙东莞建设造价信息网站
  • 网站制作代理加盟国内seo服务商
  • 如何在建设银行网站预约纪念币网络销售好不好做
  • 利用淘宝视频服务做视频网站聊城做网站价格
  • 做美容行业的网站哪个好广西互联网企业