原文:http://blog.csdn.net/tianshuai1111/article/details/7687983一,概述 仿函数(functor),就是使一个类的使用看上去象一个函数。其实现就是类中实现一个operator(),这个类就有了类似函数的行为,就是一个仿函数类了。 有些...
                            
                            
                                分类:
编程语言   时间:
2014-08-06 14:41:21   
                                阅读次数:
339
                             
                    
                        
                            
                            
                                先分析一条语句:Base *pb= new Base;这条语句是怎么执行的?首先,这个函数调用标准C++的operator new()函数,然后调用Base的构造函数。如果我们自定义new时,可以自定义一个new,如class Base { static void* operator new(...
                            
                            
                                分类:
编程语言   时间:
2014-08-06 14:21:51   
                                阅读次数:
207
                             
                    
                        
                            
                            
                                1 #include 2 using std::cout; 3 using std::endl; 4 #define new New (__FILE__, __LINE__) 5 6 void * operator new (size_t size, const char * filen...
                            
                            
                                分类:
编程语言   时间:
2014-08-05 13:53:49   
                                阅读次数:
184
                             
                    
                        
                            
                            
                                Problem Description:
Divide two integers without using multiplication, division and mod operator.
分析:题目意思很容易理解,就是不用乘除法和模运算求来做除法,很容易想到的一个方法是一直做减法,然后计数,但是提交之后显示超时,在网上找到一种解法,利用位运算,意思是任何一个整数可以表示成以2的幂为...
                            
                            
                                分类:
其他好文   时间:
2014-08-04 21:33:28   
                                阅读次数:
307
                             
                    
                        
                            
                            
                                C++允许手工管理内存。依据使用内存的行为特征,然后修改分配和归还工作,以求获得其所建置的系统的最佳效率(包括时间和空间)。这给了程序员通过定制operator new和operator delete的方式来更改new与delete表达式从而更改内存管理方案的自由。但是享受这种自由的时候必须遵守一定的规范和条款。本文在此基础上补充解释一些特别容易引起误解的问题。...
                            
                            
                                分类:
其他好文   时间:
2014-08-04 14:24:47   
                                阅读次数:
221
                             
                    
                        
                            
                            
                                C++提供了operator关键字,它和运算符一起使用,表示一个运算符函数,理解时应将operator=整体上视为一个函数名。...
                            
                            
                                分类:
编程语言   时间:
2014-08-03 01:47:04   
                                阅读次数:
292
                             
                    
                        
                            
                            
                                在c++赋值运算符函数的学习中,对于返回值类型的问题,一直非常费解,今天彻底总结一些每种不同返回值类型的结果:
1、当返回值为空时:
void hasptr::operator=(const hasptr& s)
这个时候如果只有一个‘=’(a = b)运算那就没问题,但是如果存在‘=’(a = b = c)的链式操作时,编译器就会报错
我们看:a = b = c;
程序会先运行...
                            
                            
                                分类:
其他好文   时间:
2014-08-02 23:32:54   
                                阅读次数:
316
                             
                    
                        
                            
                            
                                在stl里面,list的迭代器有重载箭头运算符。之前没搞清楚这个有什么用,看了一些资料,加上自己前面一篇笔记。写了下面测试程序: 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8...
                            
                            
                                分类:
编程语言   时间:
2014-08-02 23:09:14   
                                阅读次数:
320
                             
                    
                        
                            
                            
                                //25...9.4.
//4.71.3..6
//8.34.759.
//3.8.7..69
//.1.3.24..
//5.49.6.83
//9.6.3.7.8
//.3.6.8.1.
//1.2.9.6.4
struct node
{
    node(int r,int c):row(r),col(c) {}
    friend ostream& operator <<(ostr...
                            
                            
                                分类:
其他好文   时间:
2014-08-02 15:31:53   
                                阅读次数:
272
                             
                    
                        
                            
                            
                                STL实现优先队列
使用方法:
头文件:
#include 
声明方式:
priority_queueq;
结构体的声明方式:
struct node
{
      int x, y;
       friend bool operator  b.x; //结构体中,x小的优先级高
      }
};...
                            
                            
                                分类:
其他好文   时间:
2014-08-01 13:52:41   
                                阅读次数:
186