C++ Primer 泛型算法阅读有感
来源:互联网 发布:开淘宝店铺流程 编辑:程序博客网 时间:2024/05/16 09:44
这个月做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 泛型算法阅读有感
- C++primer阅读笔记---------泛型算法
- c++primer阅读笔记之泛型算法
- 《C++primer》 泛型算法
- C++primer阅读笔记----------模板与泛型编程
- C++primer U11 读书笔记 泛型算法
- c++Primer,十一,泛型算法
- C++primer(十一)泛型算法
- C++primer学习:泛型算法(1)
- c++primer学习:泛型算法(2)
- C++primer学习:泛型算法(3)
- C++primer--泛型算法初识
- [C/C++] 第11章 泛型算法 Primer
- 学习C Primer Plus前四章有感
- 读c++primer有感1---const
- 阅读《C++Primer》边看边敲代码
- C++Primer阅读留存问题
- 【C++primer】一学期阅读笔记
- 收藏的编程下载资源 (转贴)
- 开始一个java项目
- Socket&Linux方面的SOCKET资料
- 深入理解嵌套类和内部类
- 应用建模实践过程概述
- C++ Primer 泛型算法阅读有感
- DOS.c
- Project #1--NUAA 能 动 学 院 教 师 工 作 查 询 系 统--Introduction
- Project #2--企业各级员工个人数据库应用--Introduction
- 做软件的困难——非技术困惑
- 未完,待续……
- 2004-8-28日记
- 吃得好工作就好
- 介绍Java中线程、线程类及Runnable