![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++ 知识
文章平均质量分 70
General1982
性格开朗,爱好运动,生活态度乐观,工作努力,责任心强,思维严密,软件开发经验丰富。学历本科
展开
-
定义函数对象
尽管函数指针被广泛用于实现函数回调,但C++还提供了一个重要的实现回调函数的方法,那就是函数对象。函数对象(也称“算符”)是重载了“()”操作符的普通类对象。因此从语法上讲,函数对象与普通的函数行为类似。 用函数对象代替函数指针有几个优点,首先,因为对象可以在内部修改而不用改动外部接口,因此设计更灵活,更富有弹性。函数对象也具备有存储先前调用结果的数据成员。在使用普通函数时需要将先前调用的转载 2008-11-04 14:53:00 · 718 阅读 · 0 评论 -
C++编程惯用方法(2)
一. 避免进行重编译:(Cheshire Cat)如果我们可以很好的隐藏类的实现那么对于实现的改动将不会导致已有代码的崩溃,不过它通常都会要求我们重新编译这些代码。如:对内联函数定义的改动,对于对象大小的改动,以及对于使用内联函数访问的对象结构的改动都将导致程序的重新编译。我们可以使用句柄来避免这些重编译:如果我们改动了rep 的实现,用户要做的只是重新连接(而不是编译)一下他们的程原创 2010-01-27 17:48:00 · 893 阅读 · 0 评论 -
C++编程惯用方法(1)
一. 使用引用计数来避免多分拷贝 class String{private: class String_rep { public: int use_count; char* chars; String_rep(const char*); String_rep(const String_rep&); ~String_rep(); void increment(); vo原创 2010-01-14 15:01:00 · 734 阅读 · 0 评论 -
字符函数总结
字符函数总结 1. isspace 原型:extern int isspace(int c); 用法:#include 功能:判断字符c是否为空白符 说明:当c为空白符时,返回非零值,否则返回零。 空白符指空格、水平制表、垂直制表、换页、回车和换行符。 举例: // isspace.c原创 2009-05-18 19:25:00 · 1046 阅读 · 0 评论 -
使用ifstream和getline读取文件内容[c++]
使用ifstream和getline读取文件内容[c++]假设有一个叫 data.txt 的文件, 它包含以下内容: <v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t"转载 2009-05-14 14:39:00 · 2713 阅读 · 0 评论 -
C库函数中字符串处理函数集合
C库函数中字符串处理函数集合 bcmp 原型:extern int bcmp(const void *s1, const void *s2, int n);用法:#include 功能:比较字符串s1和s2的前n个字节是否相等说明:如果s1=s2或n=0则返回零,否则返回非零值。bcmp不检查NULL。 bcopy 原型:extern void bcop原创 2009-03-21 18:19:00 · 4546 阅读 · 1 评论 -
总结一些排序算法的原理和实现
这两天看了一下常用的排序算法,并进行了简单的实现。其原理和实现总结如下: 简介: 排序是数据处理中经常使用的一种重要运算,并且排序本身对推动算法分析的发展也起很大作用。 1、插入排序(直接插入排序、折半插入排序、希尔排序); 2、交换排序(起泡排序、快速排序); 3、选择排序(直接选择排序、堆排序); 4、归并排序; 5、基数排序;原创 2008-12-05 14:11:00 · 5179 阅读 · 1 评论 -
C++标准库简单介绍
C++标准库简单介绍 http://topic.csdn.net/u/20090201/16/3bd41b72-5694-474e-a68b-98b2f070e76b.html C++标准库的所有头文件都没有扩展名。C++标准库的内容总共在50个标准头文件中定义,其中18个提供了C库的功能。 形式的标准头文件【 例外】其内容与ISO标准C包含的name.h头文件相同,但容纳了C++原创 2009-02-02 11:01:00 · 1454 阅读 · 0 评论 -
C++中extern “C”含义深层探索[转载]
C和C++函数的相互引用----C++中extern “C”含义深层探索C和C++函数的相互引用原文地址:http://blog.csdn.net/wfwd/archive/2006/05/30/763734.aspx=================================================================================转载 2008-11-26 17:44:00 · 869 阅读 · 0 评论 -
C++ 回调函数
一篇讲解“回调函数”的很不错的文章,通过读这篇文章,对回调函数有了更好的认识。 回调函数原贴地址:http://hi.baidu.com/spidermanzy/blog/item/b25b00956469c6097bf48016.html简介 对于很多初学者来说,往往觉得回调函数很神秘,很想知道回转载 2008-12-30 16:42:00 · 1517 阅读 · 0 评论 -
透析回调函数
看到一篇文章比较清晰透彻的讲解了回调函数,受益较大。文章如下: 透析回调函数http://alexclark.itpub.net/post/670/21108“先泛后精,先浅后深”的道理可是知易行难,所以常常会给技术上的小细节纠缠着,搞得晕晕乎,其中“回调函数”就是其中之一了,虽然回调,但是老是不明转载 2008-12-30 17:38:00 · 1025 阅读 · 0 评论 -
标准C++中四个类型转换符讲解
关于强制类型转换的问题,很多书都讨论过,写的最详细的是C++ 之父的《C++ 的设计和演化》。最好的解决方法就是不要使用C风格的强制类型转换,而是使用标准C++的类型转换符:static_cast, dynamic_cast。标准C++中有四个类型转换符:static_cast、dynamic_cast、reinterpret_cast、和const_cast。下面对它们一一进行介绍。static转载 2008-11-06 12:14:00 · 1014 阅读 · 0 评论 -
C++编程惯用方法(3)
一. 纯虚函数1. class Vehicle{public: virtual accelerete(double) = 0;};我们不希望出现Vehicle的对象,只是将Vehicle作为基类来使用,并且所有的派生类都重写accelerete方法,甚至不希望有人调用Vehicle::accelerete()。将accelerete定义为纯虚函数可以实现我们的要求。在虚函数声明的参数列原创 2010-01-27 18:48:00 · 1034 阅读 · 0 评论