zoukankan      html  css  js  c++  java
  • C++ Primer 笔记——标准库类型string

    1.如果使用等号初始化一个变量,实际上执行的是拷贝初始化,编译器吧等号右侧的初始值拷贝到新创建的对象中去;如果不使用等号则执行的是直接初始化。

    std::string str = "Test";            // 拷贝初始化
    std::string str1(10, 'c');            // 直接初始化

    2.在用 std::cin 读取string的时候,string对象会自动忽略开头的空白(即空格符,换行符,制表符等)并从第一个真正的字符串开始读起,直到遇见下一处空白为止。例如你输入的是“   Hello World!   ”,输出的结果将是“Hello”。所以我们一般使用getline(),getline只要一遇到换行符就结束读取操作并返回结果。

    std::string str;
    std::cin >> str;            // 输入"   Hello World!  ",输出"Hello"
    getline(std::cin, str);        // 遇到换行符结束

    3.string 的 size() 函数返回的是一个 string::size_type 类型,它是一个能足够存放下任何string对象大小的无符号类型。如果一条表达式中已经有了size()函数就不要再用int了,避免混用in和unsigned可能带来的问题。

    4.把 string 对象和字符字面值及字符串字面值混在一条语句中使用时,必须确保每个加号的两侧的运算对象至少有一个是string。但是可以用括号来分组。

    std::string str = "!";
    str = "Hello" + str + "World";            // 正确
    str = "Hello"+ "World" + str;            // 错误
    str = "Hello" + ("World" + str);        // 正确,括号里的结果会生成一个临时string


    5.因为某些历史原因,也为了与C兼容,字符串字面值与string是不同类型。

  • 相关阅读:
    oracle 日期和时间转换
    layui 分页 java后端封装
    excel 时间格式
    excel的编程VBA
    excel条件格式
    python列表变成字符串
    Django的ORM源码学习
    robot 源码解读6【元类和描述符类】
    @staticmethod
    python 类定义后调用名称也执行内部代码
  • 原文地址:https://www.cnblogs.com/zoneofmine/p/7208419.html
Copyright © 2011-2022 走看看