C++中,什么是GP?
发布网友
发布时间:2022-05-07 08:07
我来回答
共2个回答
热心网友
时间:2023-10-21 22:14
泛型编程也就是GP(Generic Programming),推崇与类型无关的编程思想。简单来说,就是将针对不同数据类型的相同算法从数据结构<类>中剥离出来,
这与传统的C++的继承和多态截然不同。
可以说泛型思想中没有多少继承和多态的成分。甚至有背道而驰的味道。
在C++实现上,泛型严重依赖于模板机制,事实上如果没有模板的引入,泛型绝对不会在C++语言中获得如此巨大的成功!
泛型代码由C++编译器在编译期解释成二进制代码。也就是说,泛型的代码编译起来可能会使程序的二进制代码变大,但这一点也保证了程序在运行的时候不会损失效率...
当然泛型不是万能的,滥用泛型也许一样会使你的代码缓慢...
工具毕竟还是工具,思想和方法总有其局限性的。
如果没接触过,学习泛型编程,对你是一个全新的体验 。
热心网友
时间:2023-10-21 22:15
看这里
http://www.cs.rpi.e/~musser/gp/
热心网友
时间:2023-10-21 22:14
泛型编程也就是GP(Generic Programming),推崇与类型无关的编程思想。简单来说,就是将针对不同数据类型的相同算法从数据结构<类>中剥离出来,
这与传统的C++的继承和多态截然不同。
可以说泛型思想中没有多少继承和多态的成分。甚至有背道而驰的味道。
在C++实现上,泛型严重依赖于模板机制,事实上如果没有模板的引入,泛型绝对不会在C++语言中获得如此巨大的成功!
泛型代码由C++编译器在编译期解释成二进制代码。也就是说,泛型的代码编译起来可能会使程序的二进制代码变大,但这一点也保证了程序在运行的时候不会损失效率...
当然泛型不是万能的,滥用泛型也许一样会使你的代码缓慢...
工具毕竟还是工具,思想和方法总有其局限性的。
如果没接触过,学习泛型编程,对你是一个全新的体验 。
热心网友
时间:2023-10-21 22:15
看这里
http://www.cs.rpi.e/~musser/gp/