在C++的TR1中(Technology
Report)中包含一个function模板类和bind模板函数,使用它们可以实现类似函数指针的功能,但却却比函数指针更加灵活,特别是函数指向类
的非静态成员函数时。可以参考Scott Meyers. >. Item 35.下面具体说明其使用方法。一、指向全...
分类:
其他好文 时间:
2014-05-09 03:44:32
阅读次数:
289
适配器(Adaptor)是提供接口映射的模板类。适配器基于其他类来实现新的功能,成员函数可以被添加、隐藏,也可合并以得到新的功能。STL提供了三个容器适配器:queue、priority_queue、stack。这些适配器都是包装了vector、list、deque中某个顺序容器的包装器。注意:适配...
分类:
其他好文 时间:
2014-05-08 23:13:29
阅读次数:
298
在
怎样用boost::serialization去序列化派生模板类这篇文章中,介绍了序列化派生类模板类,
在写测试用例时一直出现编译错误,调了很久也没跳出来,今天偶然试了一下...居然调了出来。
先看看变异错误的代码(。。。看不出有错,可是编译就有错)。
基类代码:
class base_class
{
public:
base_cla...
分类:
其他好文 时间:
2014-05-07 03:54:45
阅读次数:
543
在引入模板之后,我们面临一个新的问题,那就是如果继承自一个模板基类,是否跟继承一般的类有什么区别呢?
就是说,如果一个类继承自某个模板类,那么该类应该注意一些什么呢?其实,它与一般类的继承是很不一样的。
先举个简单的例子:
{CSDN:CODE:324194}
我们可以看到,在上述代码中,Derived类中的成员函数调用了Base类的成员函数,显然这是很合理的,...
分类:
编程语言 时间:
2014-05-05 21:28:09
阅读次数:
438
在C++中,编译器在看到模板的定义的时候,并不立即产生代码,只有在看到用到模板时,比如调用了模板函数 或者 定义了类模板的
对象的时候,编译器才产生特定类型的代码。
一般而言,在调用函数的时候,只需要知道函数的声明即可;
在定义类的对象时,只需要知道类的定义,不需要成员函数的定义。
但是,这对于模板编译是不奏效的,模板要进行实例化,则必须能够访问定义模板的源代码,当调用函数...
分类:
编程语言 时间:
2014-05-03 23:54:04
阅读次数:
576
本篇是boost::serialization 用基类指针转存派生类(错误多多,一波三折)的姊妹篇,这里只不过做一个总结。
先来看一个基类
class base_class
{
public:
base_class(int m=0) : base_member_(0) {}
virtual ~base_class() {}
virtual void print_data() = 0;
...
分类:
其他好文 时间:
2014-05-03 21:24:33
阅读次数:
247
函数模板提供了一种函数行为,该函数行为可以用多种不同的类型进行调用,也就是说,函数模板代表一个函数家族,这些函数的元素是未定的,在使用的时候被参数化。本文地址:http://www.cnblogs.com/archimedes/p/cpp-template.html,转载请注明源地址。下面举一个简单...
分类:
编程语言 时间:
2014-05-01 18:53:52
阅读次数:
481
代码如下
#include
#include
#include
using namespace std;
template
class Base
{
public:
Base(T name);
virtual void toString();
protected:
T id;
};
template
Base::Base(T n)
{
printf("B...
分类:
编程语言 时间:
2014-04-30 22:27:39
阅读次数:
450
stackstack模板类的定义在的头文件中;定义stack对象的范例如下;stack
s;stack s;stack的基本操作:s.top() ; //栈顶s.push(a) ; //元素a入栈s.pop();
//栈顶元素出栈s.empty(); //判断栈空,如果为空,则返回trues.s.....
分类:
其他好文 时间:
2014-04-29 20:55:15
阅读次数:
535
在红黑树基础上设计map容器,在设计map时,可以明显利用的map模板类中KEY,VALUE,KEYOFVALUE的灵活运用
不多说,代码如下:
//my_map.h
#ifndef MY_MAP_H_INCLUDED
#define MY_MAP_H_INCLUDED
#include //for pair
#include"my_rb_tree.h"
using std::pair;...
分类:
其他好文 时间:
2014-04-29 13:27:21
阅读次数:
443