存档

文章标签 ‘template’

C++ Template Non-type Parameter

2013年1月5日 没有评论

C++的template可以传入普通的参数,像给普通函数传入参数一样。可能平时并不多见,但这是完全可以的,因为好久没看这方面的东西,对这样的写法表示大为吃惊。也难怪,笔记本散热不好,《Effective C++》被我拿来垫笔记本了,而《More Effective C++》一直放在枕头旁边……翻了一下,书上都有提及这样的写法。

Besides the template arguments that are preceded by the class or typename keywords , which represent types, templates can also have regular typed parameters, similar to those found in functions. As an example, have a look at this class template that is used to contain sequences of elements:

It is also possible to set default values or types for class template parameters.(设置参数的默认值也是可以的。)[......]

分类: C/C++ 标签: , , ,

Member Function Templates(成员函数模板)

2011年9月28日 2 条评论

Member Function Templates翻译成中文就是成员函数模板,这个东西我个人见得少,最初是在STL的auto_ptr源代码里面看到的,当时候也不是很明白;这几天又翻了翻《More Effective C++》,正好看到上面介绍的比较详细,就找了点资料总结一下。
为了更好的说明问题,我们自己定义一个Smart Pointer(智能指针,这里只是示例,所以定义是不完整和不完善的),假设现在我们手上有这样三个类:MusicProduct、CD、MP3,类之间的关系图如下:(Visual[......]

继续阅读

一道关于模板题的思考

2010年9月9日 2 条评论

在C++ Primer 4th Edition上面有这么一个题目:
当调用两个string对象的compare时,传递用字符串字面值初始化的两个string对象。如果编写下面的嗲吗会发生什么?
compare("hi", "world");

 于是我试着写了一下,并没有提示错误。我的compare函数如下:
template<typename T>
int compare(T a, T b)
{
if(a < b)r[......]

继续阅读

分类: C++编程 标签: , , ,