这个月做VC++界面又有些精进,经验值也有所提高,但对于GDI操作还是接触不多,抽点时间又看了十几页C++ Primer,模板的推演、泛型算法部分也是朦胧:主要是没实际应用过,但是不能说是白看了,但对于思维的延伸还是有点帮助。
比如,在泛型算法中函数指针和Inline函数之间的效率比较,对于温习一下inline函数还是不错的。
实际例子-实现字符串排序,这里使用stable_sort算法,同时要求按字符串长度进行排序,下面用less_than函数实现两字符串小于、等于操作:
bool less_than( const string & s1, const string & s2 )
{
return s1.size() < s2.size();
}
然后将函数指针less_than作参数传递给stable_sort,实现排序操作。传递函数指针也同时舍弃了inline,要知道使用inline的函数会在编译时被展开,编译完成后inline函数中的代码直接被“嵌入”当前调用它的块语句中,程序运行时直接执行less_than函数中代码,而不是像调用一般函数时,首先寻找函数地址,然后调用其中代码。如何实现inline函数?最简单的是做一个函数对象(stable_sort可以接受函数指针和对象参数),注意到()操作符被重载,实现比较功能,同时也保留了inline特性:
// 函数对象:小于操作被实现为operator()的一个实例
class LessThan {
public:
??? bool operator() { const string & s1, const string & s2 ) { return s1.size() < s2.size(); }
};
?
分享到:
相关推荐
这些是关于c++ primer的练习题和 测试题 ,自己感觉还不错 大家可以看看
因为这部分操作可以抽象出来为所有的容器工作,那就是泛型算法。所谓“泛型”是指这些算法可以应用于多种容器类型上,而容器内的元素类型也可以多样化。标准库提供了100多个泛型算法,主要定义于头文件中,还有一组...
C++ primer之泛型函数
C++Primer第11章-泛型算法-课后习题答案[收集].pdf
C++ Primer(第五版)|练习题答案与解析(第十章:泛型算法) 本博客主要记录C++ Primer(第五版)中的练习题答案与解析。 参考:C++ Primer C++ Primer 练习题10.1 头文件algorithm中定义了一个名为count的函数,它类似find...
c++ primer plus 答案c++ primer plus 答案c++ primer plus 答案c++ primer plus 答案 c++ primer plus 答案
C++Primer第五版习题答案+详解(完整版) C++Primer第五版习题答案+详解(完整版)
C++Primer Plus第六版的课后题练习题
C++primer 课后答案,习题对帮助记忆、理解很重要。内容高清,全面,带有书签,
C++Primer中文版第5版
C++ primer 第十六章 泛型 实现自定义Queue 解决模板编译错误、包含模式 C++11语法使用
C++Primer中文第三版(C++从入门到精通)第一章的读书笔记,主要是C++程序、预处理器指示符、iostream库等的基础知识点读书笔记。
锻炼自己的全英文C++ primer第五版电子版,更加适合于有一定代码功底人士阅读,初学者(你要读也很棒棒)阅读难度较大。
C++ primer Plus的pdf资源
C++ Primer(5e,Addison Wesley,201208).epub 这是老外网站上刚泄露出来的正式版本(绝对的正式版,还有ISBN和出版日期),不是以前网上出现过的草稿 这本书的上一版(第4版)还是2005年的事了 拖了很多年之后,去年...
C++是一门强大、难学、令人痛苦,但又是如此美妙的编程语言,在工业界和学术界都可以使用,《C++ Primer(第5版)》即针对初学者,也同样适用于有一定编程经验的读者,第5版配备了C++11新标准,是C++粉丝们书架上...
c++primer第五版中文版课后答案(第12章)pdf格式,真正的c++primer习题集(第五版),用手机拍的,但是每个字都能看的很清楚
C++ Primer第五版 高清扫描pdf,压缩版,下载后解压即可
自己看书练习编写的C++ Primer Plus(第6版)课后题答案
C++ Primer 第五版(中文版) 第1~11章课后习题答案(附上代码)