![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
知识
文章平均质量分 73
thomas
这个作者很懒,什么都没留下…
展开
-
void 及 void *数据类型
void及void指针类型2008-05-03 11:02<br /> 1.概述<br /> 许多初学者对C/C++语言中的void及void指针类型不甚理解,因此在使用上出现了一些错误。本文将对void关键字的深刻含义进行解说,并<br /><br /> 详述void及void指针类型的使用方法与技巧。<br /><br /> 2.void的含义<br /> void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。<br /><b转载 2011-05-15 21:26:00 · 1887 阅读 · 0 评论 -
友元函数和友元类
<br />转自 http://www.cppblog.com/twzheng/articles/21020.html<br />友元函数和友元类<br /><br /> 采 用类的机制后实现了数据的隐藏与封装,类的数据成员一般定义为私有成员,成员函数一般定义为公有的,依此提供类与外界间的通信接口。但是,有时需要定义一 些函数,这些函数不是类的一部分,但又需要频繁地访问类的数据成员,这时可以将这些函数定义为该函数的友元函数。除了友元函数外,还有友元类,两者统称为 友元。友元的作用是提转载 2011-05-23 13:57:00 · 421 阅读 · 0 评论 -
对象数组,对象指针,常对象、对象的常引用
<br />转自 http://blog.163.com/zhoumhan_0351/blog/static/3995422720100253550307/<br />1、对象数组<br />Student stud[50]; //假设已声明了Student类,定义stud数组,有50个元素<br />在建立数组时,同样要调用构造函数。如果有50个元素,需要调用50次构造函数。在定义对象数组时应当怎样实现初始化呢?在花括号中分别写出构造函数并指定实参。如果构造函数有3个参数,分别代表学号、年龄、成绩。则可以转载 2011-05-27 10:47:00 · 1609 阅读 · 0 评论 -
强制类型转换 static_cast、dynamic_cast、reinterpret_cast、和const_cast
<br />转自 http://blog.csdn.net/lemonbee/archive/2008/03/03/2143924.aspx<br /> static_cast、dynamic_cast、reinterpret_cast、和const_cast<br /> 关于强制类型转换的问题,很多书都讨论过,写的最详细的是C++ 之父的《C++ 的设计和演化》。最好的解决方法就是不要使用C风格的强制类型转换,而是使用标准C++的类型转换符:static_cast, dy转载 2011-05-30 10:39:00 · 859 阅读 · 0 评论 -
C++中的引用与指针的区别
<br />转自 http://blog.chinaunix.net/space.php?uid=8581780&do=blog&cuid=257815<br />指针和引用的区别<br /><br /> (1)引用总是指向一个对象,没有所谓的 null reference .所有当有可能指向一个对象也由可能不指向对象则必须使用 指针. <br /><br /> 由于C++ 要求 reference 总是指向一个对象所以 reference要求有初值. <br /><br /> String & rs转载 2011-05-31 17:12:00 · 405 阅读 · 0 评论 -
C++著名程序库的比较和学习经验
转自 http://sue602.blog.163.com/blog/static/31495307201062123315982/1、C++各大有名库的介绍——C++标准库2、C++各大有名库的介绍——准标准库Boost3、C++各大有名库的介绍——GUI4、C++各大有名库的介绍——网络通信5、C++各大有名库的介绍——XML6、C++各大有名库的介绍——科学计算7转载 2011-06-03 15:01:00 · 507 阅读 · 0 评论 -
仿函数使用要领
转自 http://blog.csdn.net/rendaduiyan/archive/2006/03/09/620303.aspx仿函数定义仿函数,又或叫做函数对象,是STL(标准模板库)六大组件(容器、配置器、迭代器、算法、配接器、仿函数)之一;仿函数虽然小,但却极大的拓展了算法的功能,几乎所有的算法都有仿函数版本。例如,查找算法find_if就是对fi转载 2011-06-03 20:25:00 · 509 阅读 · 0 评论 -
C++回调函数(callback)与仿函数(functor)的异同
转自 http://blog.csdn.net/xushiweizh/archive/2007/03/03/1519828.aspx回调函数(callback)与仿函数(functor)很多时候从用途上来看很相似,以致于我们经常将它们相提并论。例如:inline bool compare(int a, int b){ return a > b;} struct转载 2011-06-03 20:28:00 · 617 阅读 · 0 评论 -
C++类库介绍
转自 http://www.cnblogs.com/wangjs720/archive/2007/01/08/615055.html 标准库 标准库中提供了C++程序的基本设施。虽然C++标准库随着C++标准折腾了许多年,直到标准的出台才正式定型,但是在标准库的实现上却很令人欣慰得看到多种实现,并且已被实践证明为有工业级别强度的佳作。 1、 Dinkumware C++ Libra转载 2011-06-05 10:05:00 · 477 阅读 · 0 评论 -
运算符重载
不能重载的5个运算符:类属关系运算符.、成员指针运算符*、作用域分辨符::、sizeof运算符和三目运算符?:。 运算符的重载一般有两种形式:成员函数和非成员函数(友元)。当然,将运算符做为非成员、非友元重载也是可以的。但是,这样的运算符重载函数访问类的私有和保护成员时,必须使用类的公有接口中提供的设置数据和读取数据的函数,调用这些函数时会降低性能,可以内联这些函数以提高性能原创 2011-06-08 21:39:00 · 621 阅读 · 0 评论 -
用引用返回值
转自 http://blog.csdn.net/tcdddd/archive/2010/04/23/5519332.aspx函数返回值时,要生成一个值的副本。而用引用返回值时,不生成值的副本。 例如,下面的程序是有关引用返回的4种形式: //********************* //** ch9_6.cpp ** //**************转载 2011-06-09 08:38:00 · 689 阅读 · 0 评论 -
各界优秀人士的博客地址
转自: http://blog.sina.com.cn/s/blog_660e02cc0100gxz9.html经济学界:Gary Becker & Richard Posner(世界著名经济学家,GaryBecker为诺贝尔经济学奖得主): http://becker-posner-blog.comGregory Mankiw(哈佛大学经济学教授转载 2011-06-19 15:21:00 · 2717 阅读 · 0 评论 -
类模板与模板类
1.类模板与模板类的概念⑴ 什么是类模板 一个类模板(也称为类属类或类生成类)允许用户为类定义一种模式,使得类中的某些数据成员、默写成员函数的参数、某些成员函数的返回值,能够取任意类型(包括系统预定义的和用户自定义的)。 如果一个类中数据成员的数据类型不能确定,或者是某个成员函数的参数或返回值的类型不能确定,就必须将此类声明为模板,它的存在不是代表一个具体的、实际的类,而是代表着一类类。⑵ 类模板定义 定义一个类模板,一般有两方面的内容:A. 首先要定义类,其格式为:template clas转载 2011-05-23 09:55:00 · 405 阅读 · 0 评论 -
循环不变式的思想及其应用
<br />http://blog.csdn.net/davelv/archive/2010/10/20/5952981.aspx<br />循环不变式的思想及其应用<br /><br /> 循环不变式(loop invariants)不只是一种计算机科学的思想,准确地说是一种数学思想。在数学上阐述了通过循环(迭代、递归)去计算一个累计的目标值的正确性,属 于基础数学的范畴,而且在计算机上也应用广泛。初次见到这个词是在《算法导论》,在第二章描述了这个思想和正确性,后来又在《编程珠玑》上再次重逢,转载 2011-05-21 10:11:00 · 488 阅读 · 0 评论 -
分享续
<br />《让你不在害怕指针》<br />http://space.ednchina.com/upload/2009/3/19/b9ca4f12-5e92-4683-9151-48897d65bd1f.pdf<br />《GNU make v 3.80中文指南》<br />http://www.linuxsir.org/main/?q=node/168<br />《GCC中文手册》<br />http://bbs.linuxpk.com/thread-4730-1-1.html原创 2011-05-16 19:27:00 · 407 阅读 · 0 评论 -
野指针的概念
野指针,也就是指向不可用内存区域的指针。通常对这种指针进行操作的话,将会使程序发生不可预知的错误。 “野指针”不是NULL指针,是指向“垃圾”内存的指针。人们一般不会错用NULL指针,因为用if语句很容易判断。但是“野指针”是很危险的,if语句对它不起作用。野指针的成因主要有两种: 一、指针变量没有被初始化。任何指针变量刚被创建时不会自动成为NULL指针,它的缺省值是随机的,它会乱指一气。所以,指针变量在创建的同时应当被初始化,要么将指针设置为NULL,要么让它指向合法的内存。 二、 指针p被转载 2011-05-15 21:06:00 · 595 阅读 · 0 评论 -
关于Big Endian 和 Little Endian
<br />一、字节序<br />来自:http://ayazh.gjjblog.com/archives/1058846/<br />谈到字节序的问题,必然牵涉到两大CPU派系。那就是Motorola的PowerPC系列CPU和Intel的x86系列CPU。PowerPC系列采用big endian方式存储数据,而x86系列则采用little endian方式存储数据。那么究竟什么是big endian,什么又是little endian呢?<br /><br /> 其实big endian是转载 2011-05-16 11:01:00 · 936 阅读 · 0 评论 -
字节对齐(强制对齐以及自然对齐)
<br /> struct {}node;<br /> 32为的x86,window下VC下sizeof(node)的值为1,而linux的gcc下值为0;<br />一、WINDOWS下(VC--其实GCC和其原理基本一样,象这种问题,一般要查具体的编译器设置)字节对齐的规则:<br /> 1、一般设置的对齐方式为1,2,4字节对齐方式,VC一般默认为4字节(最大为8字节)。结构的首地址必须是结构内最宽类型的整数倍地址; 另外,结构体的每一个成员起始地址必须是自身类型大小的整数倍(需要特别注意的转载 2011-05-16 11:07:00 · 13570 阅读 · 0 评论 -
attribute的用法总结
ibute)。__attribute__书写特征是:__attribute__前后都有两个下划线,并切后面会紧跟一对原括弧,括弧里面是相应的__attribute__参数。__attribute__语法格式为:__attribute__ ((attribute-list))其位置约束为:放于声明的尾部“;”之前。函数属性(Function Attribute )函数属性可以帮助开发者把一些特性添加到函数声明中,从而可以使编译器在错误检查方面的功能更强大。__attribute__机制也很容易同非GNU应用转载 2011-05-16 15:49:00 · 3209 阅读 · 0 评论 -
8位有符号数的补码表示范围
范围是 -128至127. 根据补码的几条规定即可推出上述结论: 1 若二进制每位全为0,则表示数0 2 若最高位(即符号位)为0,表示正数 3 若最高位为1, 表示是负数,而该负数的绝对值是多少呢?将每个二进制位(包括符号位)取反加1,得到一个二进制数,将该数看成无符号数,其值就是上述负数的绝对值。 例如,二进制的 10000000 的最高位为1, 所以它表示的是负数。是负的多少呢?我们将其八位全部取反,得到01111111, 然后加1,得到10000000. 将该数看作无符号数,值为128原创 2011-05-16 16:28:00 · 5320 阅读 · 0 评论 -
C++中const用法总结
<br />转自: http://www.cnblogs.com/Clingingboy/archive/2011/02/25/1965304.html<br />作者JuKevin<br />1. const修饰普通变量和指针<br />const修饰变量,一般有两种写法:<br />const TYPE value;<br />TYPE const value;<br />这两种写法在本质上是一样的。它的含义是:const修饰的类型为TYPE的变量value是不可变的。<br />对于一个非指针的类型T转载 2011-05-18 19:49:00 · 419 阅读 · 0 评论 -
C++成员函数的重载、覆盖与隐藏
转自 http://blog.csdn.net/sendy888/archive/2007/08/11/1739113.aspx成员函数的重载、覆盖(override)与隐藏 很容易混淆,C++程序员必须要搞清楚概念,否则错误将防不胜防。 成员函数被重载 的特征: (1)相同的范围(在同一个类中); (2)函数名字相同; (3)参数不同; (4)virtual 关键字可有可无。覆盖:派生类函数覆盖基类函数,特征是: (1)不同的范围(分别位于派生类与基类); (2)函数名字相同; (3)转载 2011-05-18 20:09:00 · 339 阅读 · 0 评论 -
回调函数
<br />转自 http://hi.baidu.com/spidermanzy/blog/item/b25b00956469c6097bf48016.html<br />简介<br /><br /> 对于很多初学者来说,往往觉得回调函数很神秘,很想知道回调函数的工作原理。本文将要解释什么是回调函数、它们有什么好处、为什么要使用它们等等问题,在开始之前,假设你已经熟知了函数指针。 <br /><br />什么是回调函数?<br /><br /> 简而言之,回调函数就是一个通过函数指针调用的函数。转载 2011-05-18 22:06:00 · 317 阅读 · 0 评论 -
分享几本专业书籍及一些文档的链接
推荐一些书籍,涵盖需要利用C进行研发工作,和利用C++语言进行开发,操作系统原理,Unix操作系统及开发和开源介绍相关的书籍http://book.douban.com/subject/1230413/http://book.douban.com/subject/1885170/http://book.douban.com/subject/1236999/http://book.douban.com/subject/3012360/http://book.douban.com/subject/3652388原创 2011-05-16 17:11:00 · 1503 阅读 · 0 评论 -
c++继承经典例子
<br /><br />c++继承经典例子<br /> #include <iostream.h><br />class Base<br /> {<br /> private:<br /> int b_number;<br /> public:<br /> Base( ){}<br /> Base(int i) : b_number (i) { }<br /> int get_number( ) {return b_number转载 2011-05-18 10:10:00 · 420 阅读 · 0 评论 -
C++函数的高级特性-函数重载
<br />转自: //http://blog.csdn.net/sendy888/archive/2007/08/11/1738997.aspx<br />对比于C 语言的函数,C++增加了重载(overloaded)、内联(inline)、const 和virtual<br /> 四种新机制。其中重载和内联机制既可用于全局函数也可用于类的成员函数,const 与<br /> virtual 机制仅用于类的成员函数。<br />1.重载(overloaded)<br />重载的理由:<br />1:在转载 2011-05-18 20:07:00 · 370 阅读 · 0 评论