学习资源:《深入理解C#》第3版知识基础支持:《C# in a nutshell》 O Reilly出版社,是一本从头介绍C#的优秀图书。《Essential C#5.0》也不错跳过的内容:1、知识要点:1、当使用自定义类型的时候,如果与数组相关,应使用类似List的泛型编程,这样可以避免很多问题,...
1、理解concept与model的关系 iterator concepts: input iterator 、output iterator、forward iterator、bidirectional iterator及random access iterator2、iterator Trai....
分类:
其他好文 时间:
2014-11-06 19:33:01
阅读次数:
197
C++中的高阶手法就会用到泛型编程,主要有函数模板, 在程序中使用模板的好处就是在定义时不需要指定具体的参数类型,而在使用时确可以匹配其它任意类型, 定义格式如下template T func(T ...) {}让我们来看一个简单例子,写一个swap()将两个整数交换位置,void swap(int...
分类:
编程语言 时间:
2014-11-05 01:46:21
阅读次数:
186
泛型:通过参数化类型来实现在同一份代码上操作多种数据类型。利用“参数化类型”将类型抽象化,从而实现灵活的复用。例子代码:classProgram{staticvoidMain(string[] args){intobj = 2;Test test =newTest(obj);Console.Writ...
C++经典书籍大集锦(附百度网盘免费下载地址)
《高质量C++编程指南》
《More Exceptional C++中文版》
《大规模c++程序设计》
《代码大全2中文版(完整清晰版)》
《程序设计实践》
《More Effective C++中文版》
《C++语言的设计和演化》
《Effective C++ 中文版第三版 高清PDF》
《泛型编程与STL——中文版》
...
分类:
编程语言 时间:
2014-10-30 19:12:50
阅读次数:
479
面向对象编程(OOP)和泛型编程都能处理在编写程序时不知道类型的情况。不同之处在于:OOP能处理类型在程序运行之前都未知的情况;而在泛型编程中,在编译时就能获知类型了。
分类:
其他好文 时间:
2014-10-29 10:38:38
阅读次数:
2346
> 侯捷著
很早就买了这本书, 一直没看, 现在在实验室师兄代码的时候发现里面使用了大量泛型编程的内容, 让我有了先看看这本书的想法.
看之前我对于泛型编程了解甚少, STL倒使用的比较熟练. 看完这本书之后, 只能表示以前对于STL的使用真是跟小孩玩似得, 只懂其冰山一角. 在真正的深入到源码之后, 对于STL中不容易理解的部分如 迭代器(iterator), 仿函数(functo...
分类:
其他好文 时间:
2014-10-21 17:55:46
阅读次数:
225
24.在函数重载和设定参数缺省值间要慎重选择。
获得一种类型的数据的最小值或最大值,对于c中,一般使用在中定义的各种宏如INT_MIN 来进行表示,但是这样无法进行泛型编程,即对应如何一种类型T返回对应类型的最小或最大值。而在c++中一般如此获得
std::numeric_limits::min()c++在中定义了类模版numeric_limits,用来返回对应类型的最小最大值,这是一个很有用...
分类:
编程语言 时间:
2014-10-08 15:27:15
阅读次数:
156
一.C++中的泛型编程
--- 函数模板
--- 提供一种特殊函数可用不同类型进行调用
--- 类型可以被参数化
template
void Swap(T& a,T& b)
{
T t=a;
a = b;
b = t;
}
说明: -template 关键字用于声明开始泛型编程
-typename 关键字用于声...
分类:
其他好文 时间:
2014-10-06 13:20:22
阅读次数:
200
在C++中,智能指针是一个非常重要的概念。因为C++的类动态分配的对象不能自动释放掉,需手动调用new运算符。当程序员大意时,或程序发生异常时,或许就会发生没有手动释放内存而造成内存泄露。
智能指针的定义:就是在一个类中,存在一个指向另一个类对象的指针,并通过对指针运算符(比如:->,*)的重载,就可以实现利用当前类的对象通过指针运算符来操纵另一个类的成员(就像另一个类的指针操作一样),并且,在析构函数中定义了delete操作,借助于变量的作用域,能够实现类对象空间的自动释放。
在C++ 11中,有...
分类:
编程语言 时间:
2014-09-25 17:04:39
阅读次数:
212