• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
MiceWorld
博客园    首页    新随笔    联系   管理    订阅  订阅
C++学习笔记Day2

关于string对象的一些事

1.string对象来源于C++标准库string;,表示一种可变长的字符序列,定义在命名空间std之中。
2.string对象无初始值默认为空字符串。
3.若是使用等号对string变量进行初始化,属于拷贝初始化,不使用等号,如string s6("hiya"); string s7{"11123"}; string s8(10,"c");等,则属于直接初始化。
4.在C++中,可以这样的方法while(std::cin >> s),原理是:括号内的表达式在读取到空格或换行时,会结束一次循环。
5.可以使用getline函数,参数是一个输入流和string对象,如getline(std::cin,s),一旦读取到换行符,才算一次结束。
6.每个string对象都有empty()和size()函数,前者在对象为空时会返回1,后者会返回对象的长度。注:size()返回值类型属于string::size_type类型,不得与int类型变量在同一个表达式中使用。
7.string对象间比较规则:(1)部分相同比长度(2)遇到不同比第一个相异字符,若谁的第一个相异字符对应的ASCII码更大,谁就更大。
8.string对象可以和字符串字面值相加,如string s = "o" + s1;,但是string s = "p" + "q";,则是非法的,因为两个字面值无法相加,这是由于C++为了兼容C语言而背上的历史包袱,导致字面值并非属于string类型,而是char[]类型。
9.由于string对象属于一个字符序列,使得它可以被用于C++11标准中规定的一种新的for语句:范围for语句,其形式是for(declaration : expression) expressions; ,使用如此办法可以遍历序列中的每一个元素。若是想改变string中的每一个字符,可以在范围for语句中声明string元素的引用,然后在循环体中用引用来修改元素。
10.s[0]返回的是s对象的第一个元素的引用。

关于vector的一些事

1.vector与数组类似,它是动态的,使用的时候不指定长度性能会更高,使用c的习惯给vector预先设定长度反而性能更低。

偶然发现

1.C++中单引号括起来的是字符,双引号括起来算字符串

posted on 2023-10-20 20:23  MiceLove  阅读(31)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3