文档章节

std学习

y
 yizhangxyz
发布于 2017/04/07 09:49
字数 392
阅读 10
收藏 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

没有更多内容

加载失败,请刷新页面

加载更多

各种开源汇编、反汇编引擎的非专业比较

由于平时业余兴趣和工作需要,研究过并使用过时下流行的各种开源的x86/64汇编和反汇编引擎。如果要对汇编指令进行分析和操作,要么自己研究Intel指令集写一个,要么就用现成的开源引擎。自己...

simpower
10分钟前
1
0
(4)添加vue-router

(4)添加vue-router 1 安装vue-router cnpm install vue-router --save 2 页面准备 新建目录/src/views/common,此目录下面建立4个组件404.vue、home.vue、login.vue、theme.vue。每个文件...

neumeng
12分钟前
1
0
高可用性系统在大众点评的实践与经验

背景 所谓高可用性指的是系统如何保证比较高的服务可用率,在出现故障时如何应对,包括及时发现、故障转移、尽快从故障中恢复等等。本文主要以点评的交易系统的演进为主来描述如何做到高可用...

Skqing
20分钟前
2
0
Network protocols

The network stack does serveral seemingly-impossible things. It does reliable transmission over our unreliable networks, usually without any detactable hiccups. It adapts smooth......

nao
21分钟前
1
0
Android 生命周期方法

1,onCreate(); 2,onStart(); 3,onResume(); //打开页面,前三个方法自动执行 4,onPause(); 5,onStop(); //打开其他页面,前一个页面执行这俩方法 6,onRestart(); //onStart(),onResume //当关闭...

lanyu96
28分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部