文档章节

std学习

y
 yizhangxyz
发布于 2017/04/07 09:49
字数 392
阅读 9
收藏 0

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可以隐式转化,即自动调用对应的构造函数。

© 著作权归作者所有

共有 人打赏支持
y
粉丝 1
博文 67
码字总数 42366
作品 0
成都
你们以为我在学C++?其实我在学 Python

我在用 C++ 来学习 Python. 不信?来跟着我学? 字面量 Python 早在 2.6 版本中就支持将二进制作为字面量了[1], 最近 C++14 逐步成熟,刚刚支持这么干[2]: static const int primes = 0b1010...

铁扇公主1
2017/04/28
91
0
boost库之时间和日期

最近在学习boost库,想来对C++了解的人,应该都不陌生吧,以前没怎么注意过,也从来把注意力放到数据结构和算法这一块,结果,一上班就被虐的的体无完肤,从而决心把boost过一遍,趁着之前还...

风雅轩
2017/10/28
0
0
为std::tuple增加格式化/序列化能力

转载请注明出处。谢谢 C++11中有很多激动人心的特性,但是相应的使得C++更加复杂。。。 新标准还修改了原有标准库,并增加了很多内容。 在学习新标准的过程中动手写了个 为std::tuple增加格式...

江浸月
2013/02/18
0
0
C++ Primer读书笔记-ch01

Chapter 1. Getting Started 1.1 Writing a simple C++ Program 对于main函数而言,return 0表示一切正常,非0值表示有情况,具体含义由系统定义。 参考文档 gcc编译程序,经历如下过程: 预...

西昆仑
2016/03/29
36
0
明白了一些关于命名空间(using space)的小东西

之前我一直纠结 #include <iostream.h> cin>> cout<< include<iostream> using spacename std; cin>> cout<< include<iostream> std::cin<< std::cout>> 这三者的区别和利弊。 第一个,C++标......

李老三
2016/09/14
10
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

新工作与老项目

新的工作不知不觉的干了一个多月了。怎么说呢,跟想象中的差别不少,本来想的能进来跟大公司的同事能有很多交流,能在团队中跟大牛学习更快。结果公司的这个项目上只有两个程序员,项目是十年...

zypy333
14分钟前
0
0
mysql 在windows的安装

mysql 在windows的安装。 mysql64位的server的下载地址是: https://dev.mysql.com/downloads/mysql/ 使用的是5.7版本。 下载安装包,解压至D:\mysql\mysql-5.7.23-winx64\ 在D:\mysql\mysq...

lxzh504
26分钟前
1
0
云技术、大数据(hadoop)入门常见问题回答

当我们学习一门新技术的时候,我们总是产生各种各样的问题,这些问题整理出来,包括该 1.如何学习hadoop? 2.hadoop常见问题? 3.还有hbase、hive安装使用等? 你知道搭建hadoop平台需要些什...

董黎明
26分钟前
1
0
小程序自定义底部tab

场景 1.tabBar是在内页而非首页,这时就不得不自定义一个tabBar了 2.自定义风格 3.子页数量超过5个,得到更多了tab 4.改变点击tab默认事件,比如出登录界面,或者弹出上拉子菜单等 步骤 1.照...

萤火的萤火
32分钟前
1
0
shell炫技

1.为脚本添加“--help” #!/bin/shif [ ${#@} -ne 0 ] && [ "${@#"--help"}" = "" ]; then printf -- '...help...\n'; exit 0;fi; 2.输出字体添加颜色 https://misc.flogisoft.com......

HJCui
32分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部