STL
文章平均质量分 72
cv_yuippe
这个作者很懒,什么都没留下…
展开
-
《我的都一本c++书》学习笔记:PPL之多线程
一、PPL是微软Visual C++ 2010中提供的一个简化多线程应用程序开发的编程模型。PPL建立在并发运行时的调度和资源管理组件之上。它在代码与底层线程机制之间插入了一层抽象层,提供支持并发的泛化、类型安全的算法和并行容器。PPL支持如下特性:1、并行算法:并行作用于一组数据的泛化算法2、并行任务:一个可并行执行几个工作单位的机制3、并行容器和对象:可安全的并发存取其元素的泛原创 2013-08-11 22:33:39 · 1623 阅读 · 0 评论 -
《我的第一本c++书》学习笔记:STL的一个简单例子
代码如下:// k.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include #include #include #include using namespace std;class Student{public: Student() { m_strName = ""; m_nHeight =原创 2013-08-06 22:44:44 · 713 阅读 · 0 评论 -
《我的第一本c++书》学习笔记:STL之函数的相关内容(二)
函数指针应用在STL算法中:// 3.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include #include #include using namespace std;class Student{public: Student() { m_strName = ""; m_nHeight =原创 2013-08-07 17:33:16 · 561 阅读 · 0 评论 -
《我的第一本c++书》学习笔记:STL之shared_ptr(上)
其原理:通过对所管理的内存资源进行引用计数来达到对这个资源的管理;当新增一个shared_ptr对该资源进行管理时,或者说新增一个指向此资源的shared_ptr时,就将该资源的引用计数加1,反之,减少一个则减1。如果该资源的引用计数为0,则说明没有任何指针对其进行管理,就自动调用delete释放其所占用的内存资源。当然并不是所有情况都要用到智能指针,一般在这几种情况下,优先考虑:1、原创 2013-08-11 15:50:36 · 769 阅读 · 0 评论 -
《我的第一本c++书》学习笔记:STL常用头文件和名字空间
头文件 名字空间 描述 std原创 2013-08-01 15:07:11 · 905 阅读 · 0 评论 -
《我的第一本c++书》学习笔记:STL之函数模板和类模板
函数模板的声明语法格式如下:template 返回值类型 函数名(形参表){ //函数体}以max()为例子template T mymax( const T a, const T b){ return a > b ? a : b;}具体代码如下:// k.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include原创 2013-08-01 15:39:23 · 589 阅读 · 0 评论 -
《我的第一本c++书》学习笔记:STL之迭代器指针的使用注意事项
如下情况:循环遍历删除容器中的元素for (auto it=vecSalary.begin(); it != vecSalary.end(); ++it) { if(*it < 2) { vecSalary.erase(it); } }看似正确,但仔细分析下,在删除某个元素时,该元素的后一位会自动向前移动一位,以保持vector的连续性,这时迭代器指向的是被原创 2013-08-01 19:43:28 · 732 阅读 · 0 评论 -
《我的第一本c++书》学习笔记:STL之tuple
//将表示人的数据打包struct Human{ string strName; unsigned int nAge; double fWeight;};vector vecHuman;一个vector容器保存多组数据的问题,但是也需要在代码中定义多个结构体,如果结构体过多,就会使得代码显得繁杂,STL中的tuple就解决这问题:跟结构体可以打包多个数据类似,tuple也原创 2013-08-02 13:43:26 · 1063 阅读 · 0 评论 -
《我的第一本c++书》学习笔记:STL之vector容器的常用操作函数
v.empty() 判断容器v是否为空,如果空,返回true,否则false v.size() 返回容器v中元素的个数 v.push_back(t) 在容器v的末尾增加一个值为t的元素 v.pop_back() 返回容器v的最后一个元素 v.insert(pos)原创 2013-08-02 13:53:52 · 730 阅读 · 0 评论 -
《我的第一本c++书》学习笔记:STL中的一些通用算法(一)
在用这些算法时,要在头文件中导入:#include for_each():遍历容器中的数据元素find():查找特定的数据,或者说是唯一性的数据find_if:查找特定范围的数据,这些数据在一个范围内代码如下:// k.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include #in原创 2013-08-06 17:17:56 · 607 阅读 · 0 评论 -
《我的第一本c++书》学习笔记:STL中一些通用算法(二)
copy():复制容器元素merge():合并容器元素以下为copy()代码:// k.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include #include #include using namespace std;int _tmain(int argc, _TCHAR* argv[]原创 2013-08-06 18:26:31 · 746 阅读 · 0 评论 -
《我的第一本c++书》学习笔记:STL中的一些通用算法(三)
transform():前面介绍的copy能移动数据,但在移动中,不能对其进行操作,所以STL提供了transform()来实现这项功能。其重载了2个函数:第一个有4个参数:前两个表示输入容器的范围,第三个表示输出的目标容器的起始位置,最后一个表示移动过程中所做的动作。第二个有5个参数:其他都一样,只是在在第三个参数为第二个输入容器的起始位置。代码如下:// k.c原创 2013-08-06 19:00:50 · 600 阅读 · 0 评论 -
《我的第一本c++书》学习笔记:STL之函数的相关内容(一)
一、函数指针的声明与赋值首先,知道一个函数的函数名表示这个函数的入口地址。如果某个函数指针指向这个函数,则这个入口地址就是函数指针所指向的地址。//声明一个函数void PrintPass( int nScore );//定义函数指针void (*pPrintFunc)( int nScore );定义函数指针时也可缩写为:void (*pPrintFunc)( int );原创 2013-08-07 11:11:32 · 650 阅读 · 0 评论 -
《我的第一本c++书》学习笔记:STL中函数对象
函数只是表达一个运算过程,像沙漏,流过后不留下任何痕迹,如果遇到用一个函数统计容器所有Student对象的身高,就必须累加上次累加的结果。这时就必须用到函数对象。函数对象:就是定义了函数调用操作符,即operator()的普通类的对象。例如,可以定义一个函数对象类来实现比较两个数的大小代码如下:// 3.cpp : 定义控制台应用程序的入口点。//#include "stda原创 2013-08-07 21:23:38 · 685 阅读 · 0 评论 -
《我的第一本c++书》学习笔记:STL之Lambda表达式
前面介绍了函数对象,其优点在于解决函数指针无法保存状态数据的问题。但如果在程序中大量使用函数对象,则会使代码非常累赘而冗长。所以为了解决这问题,STL提供了Lambda表达式。Lambda表达式可以方便地使用应用于STL中,对算法进行自定义,同时在可以访问Lambda表达式之外的数据,解决函数执行过程中状态数据的保存问题。代码如下:// 3.cpp : 定义控制台应用程序的入口原创 2013-08-07 22:03:51 · 897 阅读 · 0 评论 -
《我的第一本c++书》学习笔记:c++之右值引用
首先,在c++语言中,有一些数值,他们只能放在等号右边,只能用于对左值赋值,这样的数值称之为右值;右值通常是一些数值变量、临时变量和无名变量等。而对于右值引用,在c++语言中,通过运算符“&&”来声明一个右值引用,对于之前的左值引用(即我们常说的引用),通过运算符“&”来声明引用。这相关知识又与拷贝构造函数有关。// 1.cpp : 定义控制台应用程序的入口点。//#incl原创 2013-08-08 20:11:25 · 989 阅读 · 0 评论 -
《我的都一本c++书》学习笔记:STL之shared_ptr(下)
在有些情况下,使用shared_ptr管理某些特别的类型时,这些特别的类型对象的释放不是简单地使用delete关键字释放就可以完成的,需要对shared_ptr进行自定义以完成特殊的清理工作。shared_ptr所管理的资源的清理工作都是由删除器(deleter)来完成的。shared_ptr提供了一些特殊的构造函数,这些构造函数可以指定shared_ptr删除器,从而对shared_ptr的原创 2013-08-11 17:42:37 · 895 阅读 · 0 评论 -
函数对象
// c++_1.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include #include #include using namespace std;//累加器template class Accumulater{private: int *_count; T *_total;public:原创 2013-11-08 17:00:51 · 495 阅读 · 0 评论