- 博客(6)
- 收藏
- 关注
原创 C++【线程同步】-临界区同步
当多个线程对同一个数据进行读写的时候,如果这时候线程1对数据进行读取,而线程2在修改该数据,那么就会出现无法预料的结果。所以这时候就需要线程同步。 线程同步之临界区: 临界区是一段不会被中断的代码,多个线程只能有一个线程在临界区中。如果一个线程要进入临界区,而临界区中有其他线程,那么该线程会被挂起,直到临界区中的线程离开。
2015-11-29 13:23:40 457
原创 【STL学习】算法篇
STL算法参考网站,大部分算法附实现源码。 http://www.cplusplus.com/reference/algorithm/一些笔记,有点乱(忘了就翻翻上面的网站) all_of(vec.begin(),vec.end(),比较方法 ) //所有元素都满足的条件 any_of(); //有满足条件的for_each(); //遍历容器find find_if(first,la
2015-11-27 18:35:14 282
原创 【STL学习】容器篇-关联容器
关联容器有4种:set multiset map multimap关联容器内部实现为红黑树。 与关联容器密切相关的有个数据类型为pair(键值对) pairvoid Test(){ set<string> setTest; setTest.insert("1.相同值插入Test"); setTest.insert("5.这个第二个插入"); setTest.i
2015-11-24 18:23:43 318
原创 【STL学习】容器篇-适配器容器
STL中的适配器容器共有三种: queue //队列 stack //栈 priority_queue //优先级队列适配器容器的特点:没有迭代器,只有固定的出入口。不可插入元素。queue: 特点:先进先出(吃多了吐); 容器方式 push() 往队列中添加元素(加入队列) pop() 弹出队列 实例代码: queue<int> quTest; q
2015-11-20 19:25:43 324
原创 【STL学习】容器篇-resize和reserve
resize 将容器的size增加到指定值大小,增加的数会符默认值,默认赋值为0,可传入第二个参数赋值; vector vec1 = { 1, 3, 5, 4, 2, 6, 9 }; vector vec2 = vec1; vec1.resize(15); cout << "Vec1: \n"; for (auto iValue : vec1) { cout << iVal
2015-11-18 12:07:06 367
原创 【STL学习】容器篇-线性容器
STL中线性容器有:vector list(列表) deque(双段队列) 线性容器特点:元素为线性存储。容器开始之前必须先说下迭代器。为什么要使用迭代器呢,模板使得算法能独立于数据结构,而迭代器正好使得算法独立于容器;迭代器用于对容器的访问,类似于是指针。 迭代器声明方式, vector::iterator it; 一.vector容器 1.头文件vector; 2.vector为随机访问
2015-11-16 14:24:39 914
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人