博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
std学习
阅读量:6416 次
发布时间:2019-06-23

本文共 1232 字,大约阅读时间需要 4 分钟。

hot3.png

1.std::recursive_mutex 与 std::mutex ,recursive_mutex允许同一个线程对互斥量多次上锁(即递归上锁),来获得对互斥量对象的多层所有权,std::recursive_mutex 释放互斥量时需要调用与该锁层次深度相同次数的 unlock(),可理解为 lock() 次数和 unlock() 次数相同,除此之外,std::recursive_mutex 的特性和 std::mutex 大致相同

2.std::stringstream:简化类型转换

std::stringstream m_sstream; 
std::string result; 
int i=1000; 
m_sstream<<i; //int写入流
m_sstream>>result; //流写到字符串
std::cout<<result<<"\n"; 
 

3.uint64_t total_award = std::accumulate(ai.begin(), ai.end(), 0, [](auto& l, auto& r){

            return l + r.second;//l是上一次调用的sum
        });//求区间内的和。

4.std::find。参数为一对迭代器,和一个给定的值。返回在迭代器之间等于第一个给定值的迭代器。                  if (std::find(vec.begin(), vec.end(), value) != vec.end()) {}

5. std::find_if(

    vec.begin(),
    vec.end(),
    [id](auto& item) {
        return item.id == id;
    })//在迭代器区间按照指定function查找

6.std::swap。交换2个容器。

7.std::map count函数,用于判断key是否存在

std::map<string,int> table;
string key = "A";
if(table.count(key))//如果键存在返回1,否则返回0
  cout<<table[key]<<endl;
}

8.std::thread。在创建thread的时候就会执行。

void test1(){ 

    cout << "hello test 1"<<endl; 
    while (true)
    {
    }
}
std::thread t1(test1);//创建就会执行
t1.join();//等待t1执行完毕,否则阻塞在这里

9.std::stoll C++11 将字符串转化成带符号整数

10.std:vector push_back()自动会调用ClassA(ClassA&& other)(如果有的话)来构造,emplace_back可以隐式转化,即自动调用对应的构造函数。

转载于:https://my.oschina.net/yizhangxyz/blog/874532

你可能感兴趣的文章
分布式文件系统MogileFS
查看>>
电力线通信载波模块
查看>>
linux vim详解
查看>>
Java23种设计模式案例:策略模式(strategy)
查看>>
XML解析之DOM4J
查看>>
图解微服务架构演进
查看>>
SQL PATINDEX 详解
查看>>
一些常用的网络命令
查看>>
CSP -- 运营商内容劫持(广告)的终结者
查看>>
DIV+CSS命名规范有助于SEO
查看>>
js生成二维码
查看>>
C指针练习
查看>>
web项目buildPath与lib的区别
查看>>
php对redis的set(集合)操作
查看>>
我的友情链接
查看>>
ifconfig:command not found的解决方法
查看>>
js使用正则表达式判断手机和固话格式
查看>>
计算机是怎么存储数字的
查看>>
mysql简单的单表查询详解
查看>>
mysql性能优化之Tuning-primer.sh的使用
查看>>