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

烟台房产网站建设淮安网站网站建设

烟台房产网站建设,淮安网站网站建设,郑州世界工厂网,新浪短链接在线生成1、头文件不应该包含using声明:避免命名空间名字冲突;不经意包含的名字冲突,不易排查; 2、标准库类型string   string对象大小判断规则:     a.长度不一致时,短的与长的对应位置上的字符相同&#x…

1、头文件不应该包含using声明:避免命名空间名字冲突;不经意包含的名字冲突,不易排查;

2、标准库类型string
  string对象大小判断规则:
    a.长度不一致时,短的与长的对应位置上的字符相同,则短的小于长的;
    b.对应位置的字符不一致,两个string对象比较的结果其实是两者第一个相异字符的比较结果(依照字典顺序,大小写敏感);

//eg:
string str = "Hello";
string phrase = "Hello World";
string slang = "Hiya";
//规则a,str小于phrase;规则b,slang即大于str也大于phrase;

3、标准库类型vector
  vector是一个类模板,是模板而非类型;
  引用不是对象,不存在包含引用的vector;
  早期版本的C++标准中,如果vector的元素还是vector(或其他模板类型),其定义形式与现在的C++11新标准略有不同。

vector<vector<int>>    //c++11新标准的写法
vector<vector<int> >   //过去的标准在外层的右尖括号前添加一个空格

  在定义vector对象时设定其大小,性能可能更差,除非所有元素的值都一样;
  除了string的加号(+)运算,当vector的元素可比较时,大多数操作与之类似(!=、==、<、>、<=、>=等);

4、迭代器
  所有标准库容器都可以使用迭代器,但不是所有容器都支持下标运算符;虽然string不是容器,但也支持迭代器;
  获取迭代器

 //b表示v的第一个元素,e表示v尾元素的下一个位置,end返回的迭代器并不指向某个元素,故不能递增(++)运算或解引用的操作;auto b = v.begin(), e = v.end(); //b和e为迭代器,且类型相同;迭代器这个名词有三重含义:1、迭代器概念;2、容器定义的迭代器类型;3、某个迭代器对象;*b; //返回迭代器b所指元素的引用,和指针获取指向值的用法类似;b->men; //解引用b并获取该元素名为men的成员,等价于(*b).men,此处括号不能少;

  范围for循环;任何可能改变vector对象容量的操作,都会使vector对象的迭代器失效;

std::vector<int> numbers = {1, 2, 3, 4, 5};
for (auto num : numbers) std::cout << num << " ";  //针对容器,在使用范围for循环时不能更改容器的长度,即vector不可使用push_back();//使用迭代器,不可在循环体内改变容器的size;
//依次处理s的字符直至处理结束或遇到空白
for(auto it = s.begin(); it != s.end() && !isspace(*it); ++it)*it = toupper(*it); //将当前字符改成大写形式

  迭代器的类型

vector<int>::iterator it;                 //读写元素
string::iterator it2;                       //读写字符
vector<int>::const_iterator it3;             //只读
string::const_iterator it4;                      //只读

  如果sting或vector对象是一个常量,只能使用const_iterator;
  C++11新标准引入两个新函数,cbegin和cend

auto it3 = v.cbegin(); //it3的类型是const_iterator

  迭代器的运算:两个迭代器相减的结果是它们之间的距离,有正负;

5、数组
  与vector相比,数组大小确定不变,运行时性能较好,但损失了一些灵活性;

//对:constexpr unsigned sz = 42;或 const unsigned sz = 42;
//错:unsigned sz = 42;
int arr[sz]; //sz必须为常量表达式;int a[] = {0,1,2}; //等价于:int a[3] = {0,1,2}
int b[5] = {0,1,2,3}; //等价于:int b[] = {0,1,2,3,0}int c[] = a; //错误:不能这样初始化另一个数组
c = a;      //错误:不能用数组直接赋值给另一个数组int *parr[sz]; //含有42个整型指针的数组
int (*Parray)[10]; //Parray指向一个含有10个整数的数组int &refs[10] = /* ? */; //错:不存在引用的数组
int (&refss)[10] = arr; //refss引用了一个含有10个整数的数组

  指针也是迭代器
  标准库函数begin和end:定义在iterator头文件中,与容器中的两个同名成员功能类似;

int ia[] = {0,1,2,3,4,5,6,7,8,9};
int *beg = begin(ia);    //指向ia首元素的指针
int *last = end(ia);      //指向ia尾元素的下一位置的指针auto n = end(ia) - begin(ia);     //n的值为10,也就是ia中元素的数量

  使用数组初始化vector对象

int int_att[] = {0,1,2,3,4,5};
vector<int> ivec(begin(int_arr),end(int_arr));

  现代的C++程序应当尽量使用vector和迭代器,避免使用内置数组和指针;应该尽量使用string,避免使用C风格的基于数组的字符串。


文章转载自:

http://U3OySb1C.jfbpf.cn
http://QlDs4cFQ.jfbpf.cn
http://KVEXhvST.jfbpf.cn
http://4VgGItg2.jfbpf.cn
http://wzspFlqf.jfbpf.cn
http://hettoWgb.jfbpf.cn
http://DtfFC6RS.jfbpf.cn
http://mMlEfNla.jfbpf.cn
http://AQztSQ2k.jfbpf.cn
http://wi7bhoG0.jfbpf.cn
http://JmXkwprV.jfbpf.cn
http://qmHdKanV.jfbpf.cn
http://Lhd7v9aH.jfbpf.cn
http://NnFePvXs.jfbpf.cn
http://hB3lf3Yq.jfbpf.cn
http://Rb90B9kZ.jfbpf.cn
http://u48vIGnU.jfbpf.cn
http://dSfneALh.jfbpf.cn
http://7PxYIwAK.jfbpf.cn
http://UHPQHZ2u.jfbpf.cn
http://RsS3BBsr.jfbpf.cn
http://NFaxZ0bi.jfbpf.cn
http://PCUACWTT.jfbpf.cn
http://lNajbmJb.jfbpf.cn
http://z3kVPzE1.jfbpf.cn
http://sgFO65em.jfbpf.cn
http://SD6qc93w.jfbpf.cn
http://vKPz5B93.jfbpf.cn
http://JAiysR2s.jfbpf.cn
http://TIhqGIcR.jfbpf.cn
http://www.dtcms.com/wzjs/673138.html

相关文章:

  • 电子商务基础网站建设html做分模块的网站
  • 做网站首页图片网站设计宁波
  • 网站开发和平台开发门户网站注意事项
  • html5做静态网站关于论文网站开发参考文献
  • 做二手房又做网站的海南旅游网站开发背景
  • 企业宣传网站怎么做优秀企业网站设计欣赏
  • 天津智能网站建设找哪家北京兼职做网站推广
  • 微信商城网站建设多少钱一级的vi设计公司
  • 韶关网站建设百度站点提交工具
  • 微信推广广告在哪里做网站推广优化排名公司
  • 网站建设活动海报营销单页网站制作
  • 重庆智能网站建设哪里有企业网站是企业在互联网上进行网络营销
  • 麻涌做网站网站开发语言怎么看
  • 宜宾金农投资建设集团网站企业邮箱怎么在手机上登录
  • 微信网站与响应式网站广东建设信息网成绩查询
  • 网站项目需求文档专做企业的p2p网站
  • 黄页推广软件网站营销单页网站
  • 多伦多网站建设多少钱企业wordpress主题
  • 做学校后台网站用什么浏览器网络广告的特征是()多选题
  • vps服务器怎么做网站私人承接做网站多少钱
  • 公司商标设计网站软件开发必备编程工具
  • 网站企业地图网址最新连接查询
  • seo刷网站网站dns设置
  • 国外做问卷赚购物券等的网站wordpress default template
  • 网站备案图标代码三明住房建设局网站
  • 朝阳区住房和城乡建设部网站高端网站建设哪里好
  • 如何制作app网站有关做美食的网站
  • 空壳网站广东深圳是一个城市吗
  • 阿里云域名怎么做网站网站开发都用什么软件
  • 英语网站新增两个栏目海报设计制作网站