Linux/C++系统编程 day8

C++输入输出流

vector

  • 动态数组,vector v;

  • 最后位置插入,v.push_back(type);

  • 当前元素个数,v.size();

  • 当前容量,v.capacity();

    (扩容机制:当size()==capacity()时,如果还要继续插入元素,就会按照2*capacity大小扩容,接着将老的空间元素拷贝到新的空间,然后将新的元素插入到新空间后面,最后将老的空间进行回收

    虽然造成效率下降,但是如果老空间后面位置不够,直接在其后申请空间就会造成错误)

  • 提前预留空间,v.reserve();

  • 遍历,for(auto &p: v){ }

    (带引用就没有拷贝的操作)

字符串I/O

  • 头文件sstream

  • 通常用来做格式转换

  • 委托构造函数可以、不重复地使用成员初始化列表

    (减少代码重复)

  • isalpha()

    (判断是否是字母)

字符串输入流istringstream

string line;
istringstream iss(line);
iss >> key >>value;
cout<<key<<"-->"<<value<<endl;

字符串输出流ostringstream

string int2string(int number){
    ostringstream oss;
    oss << number;
    string str = oss.str();
    return str;
}

字符串输入输出流stringstream

stringstream ss;
ss << key <<value;
ss >> key >>value;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值