泛型编程
(面试题)什么是泛型编程
所谓的泛型编程,就是以独立于任何特定类型实现的方式编写代码,在使用泛型程序时,需要用户提供具体程序实例所操作的类型或值。
泛型编程和面向对象编程一样,都是多态性的某种实现。面向对象编程中的多态性主要是在运行时使用存在继承关系的类,在使用这些类时能够忽略基类与派生类之间的类型差异。而只是使用基类的引用或指针来使用派生类的实现。通过这种方式使基类和派生类使用相同的代码。
而泛型编程,其主要多态性主要是指所编写的类和函数能够在编译时确定使用何种类型。C++中的标准库STL的容器、迭代器、算法就是很好的泛型编程的实现。
(面试题)C++如何实现泛型编程
在C++中实现泛型编程,其基础是模板技术。在C++中模板技术的实现包括函数模板和类模板。通过实现函数模板和类模板,可以为不同的类型提供通用的代码。