c++ stringstream

实验结论:
clear()用于清空stringstream内容
str(“”)用于释放stringstream内存
最好两个一起使用

#include <sstream>
#include <iostream>
 
using namespace std;

/*
    使用stringstream进行数据转型时,必须用clear()清空stringstream的内容,但只用clear()并不释放内存,在clear()后使用str("")可以释放其内存资源
    实验结论:
    clear()用于清空stringstream内容
    str("")用于释放stringstream内存
*/

int main()
{
    stringstream sstream;
    int first, second;
    
    // 插入字符串
    sstream << "456";
    // 转换为int类型
    sstream >> first;
    // cout << "used clear(): " << first << endl; // 456
    // cout << "unused clear(): " << first << endl;  // 456
    // cout << "used .str(''): " << first << endl;  // 456
 
    cout << "used .str(): Size of stream = " << sstream.str().length() << endl; // 3


    // 在进行多次类型转换前,必须先运行clear()
    sstream.clear();
    sstream.str("");
    // cout << "Unused .str(): Size of stream = " << sstream.str().length() << endl; // 3
    cout << "used .str(): Size of stream = " << sstream.str().length() << endl;  // 0
    

    // 插入bool值
    // sstream << true;
    sstream << "789";
    // 转换为int类型
    sstream >> second;
    // cout << "Unused .str():Size of stream = " << sstream.str().length() << endl; // 6
    cout << "used .str():Size of stream = " << sstream.str().length() << endl; // 3

    // cout << "used clear(): " << second << endl;  // 1
    // cout << "unused clear(): " << second << endl;  // 216572660
    // cout << "used .str(''): " << second << endl;  // 216849752

    system("pause");
    return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值