- 博客(5)
- 资源 (10)
- 收藏
- 关注
原创 函数对象编程模式
<br />函数对象与函数指针的区别:<br /> <br />函数对象实际上是一个类的对象,不过在使用的时候可以直接使用类名,编译的时候可以内联。<br />函数指针因为是用了指针,所以在编译的时候不能向内联函数那样在调用地直接展开,需要一定的开销。<br /><br />函数对象内部需提供operator()操作函数,支持传统函数调用,示例如下:#pragma warning(disable:4101)#include <iostream>#include <vector>#include
2010-08-27 14:58:00 759
转载 引用 bind1st bind2nd
<br /> <br />本篇适合不熟悉这两个函数的读者 以前在使用stl的过程中发现bind1st和bind2nd这两个函数,当时不太理解什么意思,今天在网上查了一下相关资料发现竟然很简单,下面我就具体解释一下他们的用法。 bind1st和bind2nd函数用于将一个二元算子(binary functor,bf)转换成一元算子(unary functor,uf)。为了达到这个目的,它们需要两个参数:要转换的bf和一个值(v)。 可能这么解释以后大家还不是很清楚,那么就说点白话吧。我们在做比较的时候所写的表
2010-08-26 15:05:00 1233
原创 error C2679: 二进制“”类型的右操作数的运算符(或没有可接受的转换)
<br />#include <iostream>#include <vector>int main(){ std::vector<std::string> vect; std::vector<std::string>::iterator iter; vect.push_back("bird"); vect.push_back("dog"); for(iter = vect.begin();iter!=vect.end();iter++) { std::cout
2010-08-26 11:16:00 7112
原创 显示类型转换
<br /> <br /> <br /> 将一种类型转化成令一种类型,在程序设计中十分常见,C++仍然支持C语言的隐式类型转化,此外C++还提供了4种显示类型转换的操作函数:①reinterpret_cast②const_cast③static_cast④dynamic_cast,其中前三种是在编译期实现转化的,最后一个是在运行时实现转化的。<br />下面通过代码分别介绍四种显示转化:<br /> <br /> <br />①reinterpret_cast:将一个类型的的指针转化成另一个类型的指针,这
2010-08-25 16:49:00 158
原创 前缀操作符和后缀操作符的重载
前缀操作符和后缀操作符的重载前缀操作符:用在对象(或者变量)的前面的操作符;如++a前缀操作符的定义不带参数,如: Complex operator++ () { rad1 +=1; image +=1; return *this; }后缀操作符:用在对象(或者变量)的后面的操作符;如a++后缀操作符的定义需要一个int型参数,这个参数实际上没有任何用途,只是占位符,如此处的mComplex operator++ (int m) { real+=10; i
2010-08-25 11:45:00 1053
性能测试工具sysbench
2014-10-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人