C++的一些小记录

STL容器

  1. vector vector< int > vec的push_backvec.push_back( things )操作是按值/对象拷贝,而非按址拷贝。

    Object things;
    vector< Object > vec;
    vec.push_back( things ); // vec中的things 是 外面things的拷贝,两者不是同一个东西!
  2. set/unordered_set中的集合操作在<algorithm>里可以找到:

    std::includesstd::set_differencestd::set_intersectionstd::set_unionstd::set_symmetric_difference

    但在使用这些集合操作时,要先排序集合里的元素,要不然会报错Expression: Sequence not ordered,所以先用<algorithm>里的sort

    std::sort(set.begin(), set.end());

  3. 容器类的操作可以到 ClassFoo-C++参考手册-容器库 找;当然,微软官方的文档也很好。
  4. 遇到一些问题,可以在 微软官方社区 或 stack overflow 上寻找答案。但注意stack overflow上的答案有可能不适用最新的语法,所以首选还是微软官方的最新文档。

字符串

  1. 字符串分割,使用:

    char *strtok_s( char *strToken, const char *strDelimit, char **context )

    strToken
    字符串包含一个标记或一个以上的标记。
    strDelimit
    分隔符的设置。
    context
    用于存储调用 strtok_s 之间位置信息

    实例:

    string value = "13|12|23|32";
    char* next_value = NULL;
    char* token = strtok_s( const_cast<char*>(value.c_str()), "|", &next_value);
    while( token != NULL ){
        designated.insert( stoi(token) );
        token = strtok_s( NULL, "|", &next_value);
    }

    2.未完。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值