网站建设费分多少期摊销,深圳网站建设vr知识,菏泽正耀网站建设公司怎么样,规划管理部门的网站建设vector的初始化方式
1#xff0c;使用拷贝初始化时候#xff0c;即使用的时候#xff0c;只可以提供一个初始值2#xff0c;如果提供一个类内初始值#xff0c;只可以使用拷贝初始化或者使用花括号的方式初始化3#xff0c;如果提供的是初始元素值的列表#xff0c;只可…vector的初始化方式
1使用拷贝初始化时候即使用的时候只可以提供一个初始值2如果提供一个类内初始值只可以使用拷贝初始化或者使用花括号的方式初始化3如果提供的是初始元素值的列表只可以把初始值都放在花括号里面进行列表初始化不可以使用圆括号
值的初始化
有些类必须明确提供初始数值如果元素的类型不支持默认初始化就必须提供初始的元素数值只提供了元素的数量但是没有设定初始数值只可以使用直接初始化花括号里面的数值必须和元素的类型相同vectorint v1{10}; //一个元素元素的数值是10vectorint v1{10,1};//两个元素元素的数值是10和1vectorstring v1{10};//因为花括号里面的数值和元素的类型不一样相当于有10个默认的初始化元素字符串默认是\0
注意事项
如果循环体内部包含有向vector添加元素的语句则不可以使用范围for循环因为使用范围for循环会改变其所遍历的序列的大小范围for循环 for(declaration : expression){ statement }expression是一个序列比如使用花括号括起来的初始值的列表、数组、string、vector等类型他们都可以返回迭代器的begin和end成员declaration是一个变量比如int、float等序列中的每个元素都得能转化成该变量的类型最简单的方式是使用auto自定义类型转换不需要用户自己指定而且对于范围变量要使用引用类型这样才能对于元素执行写操作。因为可以使用push_back元素对vector增加元素但是使用范围for语句是要知道最后的一个位置的因为vector的最后位置不确定所以无法使用范围for语句vector的操作类似于string比如v.size()、v.empty()