
C / C++
文章平均质量分 82
dos5gw
博客已拆迁
展开
-
C++笔记: 继承,友元
//---(一)友元关系----------友元关系不可继承,Base是基类,Derive是派生类,F是Base的友元, 这么说来, "F不能访问Derive的private成员"是无误的;但是还是不够准确,假设Base有一个privata的virtual函数func(),Derive继承并重写了此函数,那么在基类的友元F中有如下代码:Derive* p1=new Derive();原创 2010-04-08 14:43:00 · 1040 阅读 · 0 评论 -
C语言中指针和数组的总结
http://tech.sunplusedu.com/space/post-4064.aspx 用ioctl获得本地ip地址时要用到两个结构体ifconf和ifreq,它们对于大多数人来说都是比较陌生的,这里给大家一种比较简单的理解方法,当然只一种帮助理解原创 2011-04-22 08:43:00 · 2150 阅读 · 0 评论 -
C++ Primer笔记: 类和对象, 重载操作符的总结
一般情况,Linux启动过程是BIOS-GRUB-内核-init进程(读取inittab文件)但debian 系衍生出来的linux 没有使用/etc/inittab ,ubuntu从6.10开始逐步用upstart代替原来的sysinit,进行服务进程的管理。注*/etc/init取代了原来的/etc/event.d,所以下面的链接文字可能有出入。 参考资料:upstar原创 2011-05-31 09:55:00 · 1031 阅读 · 0 评论 -
结构体对齐, 位域, 柔性数组
<br />C99中,结构中的最后一个元素允许是未知大小的数组,这就叫做柔性数组成员,但结<br />构中的柔性数组成员前面必须至少一个其他成员。 柔性数组成员允许结构中包含一个大小可<br />变的数组。sizeof返回的这种结构大小不包括柔性数组的内存。包含柔性数组成员的结构用<br />malloc ()函数进行内存的动态分配,并且分配的内存应该大于结构的大小,以适应柔性数组<br />的预期大小。<br />柔性数组到底如何使用呢?看下面例子:<br />typedef struct st_type原创 2011-05-26 17:14:00 · 1122 阅读 · 0 评论 -
关键字 extern static const, 声明和定义的区别
原帖 http://hi.baidu.com/bwandmff/blog/item/56876b30a31d519da9018e9a.htm在讨论全局变量之前我们先要明白几个基本的概念:1. 编译单元(模块): 在IDE开发工具大行其道的今天,对于编译的一些概念很多人已经不再清楚了,很多程序员最怕的就是处理连接错误(LINK ERROR), 因为它不像编译错误那样可以给出你程序错误的具体位置,你常常对这种错误感到懊恼,但是如果你经常使用gcc,makefile等工具在linux或者嵌入式下做开发工作的原创 2011-03-01 16:59:00 · 1365 阅读 · 0 评论 -
大端(Big Endian)与小端(Little Endian)详解
<br /><br />大端(Big Endian)与小端(Little Endian)详解<br />【大端(Big Endian)与小端(Little Endian)简介】<br />Byte Endian是指字节在内存中的组织,所以也称它为Byte Ordering,或Byte Order。 <br /> 对于数据中跨越多个字节的对象, 我们必须为它建立这样的约定:<br />(1) 它的地址是多少?<br />(2) 它的字节在内存中是如何组织的?<br /> 针对第一个问题,有这样的转载 2011-04-22 11:49:00 · 787 阅读 · 0 评论 -
C++类实例占用的内存结构,及虚函数表的一点探究
或许编译器的差异, 所得的结果也不同, 但某些地方还是可以借鉴的.帖子讨论:http://topic.youkuaiyun.com/u/20110509/11/43917452-ae4d-4ba9-8c72-25e454e60e75.html?113761501class CPocket{public: CPocket(){ //cout原创 2011-05-12 11:58:00 · 1107 阅读 · 0 评论 -
[zz] 标准C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast和const_cast
C 风格(C-style)强制转型如下:(T) exdivssion // cast exdivssion to be of type T函数风格(Function-style)强制转型使用这样的语法:T(exdivssion) // cast exdivssion to be of type T这两种形式之间没有本质上的不同,它纯粹就是一个把括号放在哪的问题。我把这两种形式称为旧风格(old-style)的强制转型。使用标准C++的类型转换符:static_cast、dynamic_cast、reinte转载 2011-02-28 20:47:00 · 773 阅读 · 0 评论 -
zz 函数调用约定( __cdecl + __stdcal + __fastcall )
<br /><br />调用约定 (Calling convention) 决定以下内容: 函数参数的压栈顺序,由调用者还是被调用者把参数弹出栈,以及产生函数修饰名的方法。<br /> <br /> <br /> <br />采用 __cdecl 约定时调用约定 (Calling convention) 决定以下内容: 函数参数的压栈顺序,由调用者还是被调用者把参数弹出栈,以及产生函数修饰名的方法。<br /> <br /> <br /> <br />采用 __cdecl 约定时: 函数参数按照从右转载 2011-02-27 21:12:00 · 787 阅读 · 0 评论 -
Linux 常用命令总结
<br /><br />一:sizeof进行结构体大小的判断<br /> <br />typedef struct<br />{<br /> int a;<br /> char b;<br />}A_t;<br />typedef struct<br />{<br /> int a;<br /> char b;<br /> char c;<br />}B_t;<br />typedef struct<br />{<br /> char a;<br /> int b;原创 2011-05-26 17:16:00 · 817 阅读 · 0 评论