constexpr:会在编译期计算出来
lambda:
是98、03版带有operator()的局部仿函数
当创建lambda函数的时候,编译器内部会生成这样一个仿函数,并从其你作用域中取得参数传递给lambda函数
######################################################################################..
分类:
编程语言 时间:
2016-04-22 16:46:54
阅读次数:
209
从函数指针到仿函数。 1.1 函数调用操作符(C++语法中的左右括号)也可以被重载。 许多STL算法都提供了两个版本,一个用于一般状况(例如排序时以递增方式排列),一个用于特殊状况(例如排序时由使用者指定以何种特殊关系进行排列)。像这种情况,需要用户指定某个条件或策略,而条件或策略的背后由一整组操作 ...
分类:
其他好文 时间:
2016-04-20 13:05:23
阅读次数:
194
转自:http://blog.jobbole.com/44409/ 线程 类std::thread代表一个可执行线程,使用时必须包含头文件<thread>。std::thread可以和普通函数,匿名函数和仿函数(一个实现了operator()函数的类)一同使用。另外,它允许向线程函数传递任意数量的参 ...
分类:
编程语言 时间:
2016-04-18 00:42:19
阅读次数:
310
#pragma once#include <vector> // 小堆template<class T> //仿函数struct Less{ bool operator() (const T& l, const T& r) { return l < r; // operator< }}; templ ...
分类:
其他好文 时间:
2016-04-12 22:12:19
阅读次数:
118
什么叫RAII(ResourceAcquisitionIsInitialization)?RAII指的就是资源分配即初始化,它的作用就是定义一个类来封装资源的分配和释放,在构造函数完成资源的分配和初始化,在析构函数完成资源的清理,可以保证资源的正确初始化和释放。它是一种技术。为什么要使用RAII?在堆上分..
分类:
其他好文 时间:
2016-04-06 18:54:12
阅读次数:
196
之后我在整理之后会把类型萃取也放着这个文章里面,我自己还是满容易混淆的,经常分不清、 模版的模板参数主要使用在类的类成员也是个模板类,当你想只输入一个模板参数,就可以同时对类内的其他类成员传入相同的模板参数的时候就可以使用咯 这个就是模板的模版参数的一个简单实现,用来实现类的类成员和该类模板使用类型 ...
分类:
其他好文 时间:
2016-04-06 16:50:15
阅读次数:
141
内容整理自国外C++教材 先考虑一个简单的例子:假设有一个vector<string>,你的任务是统计长度小于5的string的个数,如果使用count_if函数的话,你的代码可能长成这样: 其中count_if函数的第三个参数是一个函数指针,返回一个bool类型的值。一般的,如果需要将特定的阈值长 ...
分类:
编程语言 时间:
2016-04-02 12:07:59
阅读次数:
175
"2.h"
#include<iostream>
#include<vector>
#include<assert.h>
usingnamespacestd;
template<classT>
structLess
{
booloperator()(constT&left,constT&right)
{
returnleft<right;
}
};
template<classT>
structGreater
{
b..
分类:
编程语言 时间:
2016-03-29 22:29:56
阅读次数:
501
template<classT>
structDel
{
voidoperator()(constT*ptr)
{
cout<<"Del"<<ptr<<endl;
deleteptr;
}
};
template<classT>
structFFF
{
voidoperator()(constT*ptr)
{
cout<<"delete[]"<<endl;
delete[]ptr;
}
};
structFree/..
分类:
编程语言 时间:
2016-03-23 23:52:53
阅读次数:
433
#pragmaonce
#include<iostream>
#include<vector>
usingnamespacestd;
classBigHeap//仿函数类大堆返回true
{
public:
booloperator()()
{
returntrue;
}
};
classSmallHeap//仿函数类小堆返回false
{
public:
booloperator()()
{
returnfalse;
}
};..
分类:
编程语言 时间:
2016-03-20 18:08:38
阅读次数:
197