- 博客(76)
- 资源 (44)
- 收藏
- 关注
转载 C++构造函数中成员对象的初始化顺序
摘自:《高质量C/C++程序设计》 一个有趣的 现象是,成员对象初始化的次序完全不受它们在初始化表中次序的影响,只由成员对象在类中声明的次序决定。这是因为类的声明是唯一的,而类的构造函数可以有多个,因此会有多个不同次序的初始化表。如果成员对象按照初始化表的次序进行构造,这将导致析构函数无法得到唯一的逆序。[Eckel, p260-261]
2012-02-29 20:42:19 1218
C++构造函数中成员对象的初始化顺序
摘自:《高质量C/C++程序设计》 一个有趣的 现象是,成员对象初始化的次序完全不受它们在初始化表中次序的影响,只由成员对象在类中声明的次序决定。这是因为类的声明是唯一的,而类的构造函数可以有多个,因此会有多个不同次序的初始化表。如果成员对象按照初始化表的次序进行构造,这将导致析构函数无法得到唯一的逆序。[Eckel, p260-261]...
2012-02-29 20:42:00 169
转载 十本 Linux 核心開發書籍介紹
转自:http://www.openfoundry.org/index.php?option=com_content&task=view&id=8325&Itemid=4;isletter=12011-05-05 11:02作者是 Rex我相信絕大部分 Linux 開發者都會告訴你,Driver 的開發比 Linux Application 容易許多,即便寫
2012-02-29 19:55:01 1311
十本 Linux 核心開發書籍介紹
转自:http://www.openfoundry.org/index.php?option=com_content&task=view&id=8325&Itemid=4;isletter=12011-05-05 11:02作者是 Rex我相信絕大部分 Linux 開發者都會告訴你,Driver 的開發比 Linux Applicati...
2012-02-29 19:55:00 137
原创 C++中多态要注意的事情&与Java的对比
注:下面是我自己最近看书的总结,应该有错误在C++中,如果子类与父类的函数名相同,那么子类将覆盖父类中同名的函数,也就是说,在继承关系中,方法签名只由方法名决定。若想实现多态效果,那么只能使用虚函数来实现。父类中的虚函数可能被编译为一个指针,编译子类时将子类相应的函数地址赋值给那个指针。我想,继承在向上和向下两个方向起作用:向上:子类可以使用父类中public和prot
2012-02-29 10:06:27 853
C++中多态要注意的事情&与Java的对比
注:下面是我自己最近看书的总结,应该有错误在C++中,如果子类与父类的函数名相同,那么子类将覆盖父类中同名的函数,也就是说,在继承关系中,方法签名只由方法名决定。若想实现多态效果,那么只能使用虚函数来实现。父类中的虚函数可能被编译为一个指针,编译子类时将子类相应的函数地址赋值给那个指针。我想,继承在向上和向下两个方向起作用:向上:子类可以使用父类中public和protecte...
2012-02-29 10:06:00 94
转载 重载与覆盖
转自:《高质量C/C++编程指南》 重载与覆盖成员函数被重载的特征:相同的范围(在同一个类中);函数名字相同;参数不同;virtual 关键字可有可无。覆盖是指派生类函数覆盖基类函数,特征是:不同的范围(分别位于派生类与基类);函数名字相同;参数相同;基类函数必须有 virtual 关键字。注:之前一直将覆盖理解为重载,因此在读书和与他人交流时总感到别扭,原
2012-02-27 22:24:24 539
重载与覆盖
转自:《高质量C/C++编程指南》重载与覆盖成员函数被重载的特征:相同的范围(在同一个类中);函数名字相同;参数不同;virtual 关键字可有可无。覆盖是指派生类函数覆盖基类函数,特征是:不同的范围(分别位于派生类与基类);函数名字相同;参数相同;基类函数必须有 virtual 关键字。注:之前一直将覆盖理解为重载,因此在读书和与他人交流时总感到别扭,原来我犯...
2012-02-27 22:24:00 52
转载 重载是如何实现的?
转自:《高质量C/C++编程指南》 几个同名的重载函数仍然是不同的函数,它们是如何区分的呢?我们自然想到函数接口的两个要素: 参数与返回值。如果同名函数的参数不同(包括类型、顺序不同),那么容易区别出它们是不同的函数。如果同名函数仅仅是返回值类型不同,有时可以区分,有时却不能。例如:void Function(void);int Function (void)
2012-02-27 22:12:05 2004
重载是如何实现的?
转自:《高质量C/C++编程指南》 几个同名的重载函数仍然是不同的函数,它们是如何区分的呢?我们自然想到函数接口的两个要素: 参数与返回值。如果同名函数的参数不同(包括类型、顺序不同),那么容易区别出它们是不同的函数。如果同名函数仅仅是返回值类型不同,有时可以区分,有时却不能。例如:void Function(void);intFunction (void); 上述...
2012-02-27 22:12:00 280
原创 引用(reference)和const指针的区别
两者最大的不同是const指针在内存中有存储空间,有地址,而引用则没有。因此,const指针可以为NULL,而引用不能为NULL。简而言之,const指针是个指向对象的指针,而引用则是对象自身。下面内容来自:《高质量C/C++编程指南》引用的一些规则如下:(1)引用被创建的同时必须被初始化(指针则可以在任何时候被初始化)。(2)不能有 NULL 引用,引用必须与合法的存
2012-02-27 21:27:44 1059
引用(reference)和const指针的区别
两者最大的不同是const指针在内存中有存储空间,有地址,而引用则没有。因此,const指针可以为NULL,而引用不能为NULL。简而言之,const指针是个指向对象的指针,而引用则是对象自身。下面内容来自:《高质量C/C++编程指南》引用的一些规则如下:(1)引用被创建的同时必须被初始化(指针则可以在任何时候被初始化)。(2)不能有 NULL 引用,引用必须与合法的存储单...
2012-02-27 21:27:00 275
原创 C语言中sizeof计算数组如何实现?
首先,sizeof不是一个函数,而是一个操作符。在C99以前,sizeof是在编译时实现的。编译器在给数组分配空间时会记录下数组所占的空间,因此sizeof只需要向编译器询问数组的大小即可。http://www.velocityreviews.com/forums/t440955-how-sizeof-works.htmlhttp://stackoverfl
2012-02-26 23:17:38 1937
C语言中sizeof计算数组如何实现?
首先,sizeof不是一个函数,而是一个操作符。在C99以前,sizeof是在编译时实现的。编译器在给数组分配空间时会记录下数组所占的空间,因此sizeof只需要向编译器询问数组的大小即可。http://www.velocityreviews.com/forums/t440955-how-sizeof-works.htmlhttp://stackoverflow.com/q...
2012-02-26 23:17:00 381
转载 C语言中数组的数组
转自:《C专家编程》在C语言中,可以像下面这样声明一个10X20的多维数组: char carrot[10][20];或者以更像”数组的数组“的形式进行声明: typedef char vegetable[20]; vegetable carrot[10];不论哪种情况,访问单个字符都是
2012-02-26 22:58:24 650
C语言中数组的数组
转自:《C专家编程》在C语言中,可以像下面这样声明一个10X20的多维数组: char carrot[10][20];或者以更像”数组的数组“的形式进行声明: typedef char vegetable[20]; vegetable carrot[10];不论哪种情况,访问单个字符都是通过carrot[i][j]的形式,编译器在编译时...
2012-02-26 22:58:00 493
转载 数组和指针的可交换性总结
转自:《C专家编程》用a[i]这样的形式对数组进行访问总是被编译器改写为像”*(p+i)“这样的指针访问。你可以使用小波形式访问指针,但请尽量限制在指针作为函数参数,而且你知道实际传递给函数的是一个数组。在作为函数的参数时,数组的声明可以看作一个指针。作为函数参数的数组始终会被编译器修改为指向数组第一个元素的指针。因此,当把一个数组定义为函数参数时,可以选择把它定义为数组,也可以将其定
2012-02-26 22:30:47 815
数组和指针的可交换性总结
转自:《C专家编程》用a[i]这样的形式对数组进行访问总是被编译器改写为像”*(p+i)“这样的指针访问。你可以使用小波形式访问指针,但请尽量限制在指针作为函数参数,而且你知道实际传递给函数的是一个数组。在作为函数的参数时,数组的声明可以看作一个指针。作为函数参数的数组始终会被编译器修改为指向数组第一个元素的指针。因此,当把一个数组定义为函数参数时,可以选择把它定义为数组,也可以将...
2012-02-26 22:30:00 86
转载 C语言中,即使参数声明为数组,它仍然是个指针
转自:《C专家编程》非参数指针:int array[10], array2[10];main(){ array[1] = 3; *array = 3; array = array2; /*失败*/}指针实参:fun1(int *ptr){ ptr[1] = 3; *ptr = 3; ptr = array2;}数组实参:fun2
2012-02-26 22:21:06 90
C语言中,即使参数声明为数组,它仍然是个指针
转自:《C专家编程》非参数指针:int array[10], array2[10];main(){ array[1] = 3; *array = 3; array = array2; /*失败*/}指针实参:fun1(int *ptr){ ptr[1] = 3; *ptr = 3; ptr = array2;}数组实参:fun2(i...
2012-02-26 22:21:00 75
原创 对遇到的段错误的反思
源代码如下: 1 #include 2 3 struct CoinPurse{ 4 | unsigned gold; 5 | unsigned silver; 6 | unsigned cooper; 7 }; 8 9 struct CoinPurse countCoins(char *coins){ 10 | sta
2012-02-25 11:39:21 872
对遇到的段错误的反思
源代码如下: 1 #include <stdio.h>23 struct CoinPurse{4 | unsigned gold;5 | unsigned silver;6 | unsigned cooper;7 };89 struct CoinPurse countCoins(char *coins){10 | static struct CoinPurse cp;/...
2012-02-25 11:39:00 91
原创 Linux下利用core来调试segmentation fault
Segmentation fault(段错误)是由于虚拟内存管理单元的异常所致,而该异常则通常是由于解引用一个未初始化或非法值的指针引起的。Linux中提供了core dump的功能,使得对这类错误的调试更为容易。一般情况下,linux系统是不允许产生core文件的,因此首先要解除这个限制:ulimit -c unlimited接下来,运行含segmentation fau
2012-02-24 17:23:33 6644 3
Linux下利用core来调试segmentation fault
Segmentation fault(段错误)是由于虚拟内存管理单元的异常所致,而该异常则通常是由于解引用一个未初始化或非法值的指针引起的。Linux中提供了core dump的功能,使得对这类错误的调试更为容易。一般情况下,linux系统是不允许产生core文件的,因此首先要解除这个限制:ulimit -c unlimited接下来,运行含segmentation fault...
2012-02-24 17:23:00 118
转载 c语言字符串函数详解
转载自: http://space.itpub.net/14805538/viewspace-483694void *memset(void *dest, int c, size_t count);将dest前面count个字符置为字符c.返回dest的值.void *memmove(void *dest, const void *src, size_t count
2012-02-24 13:16:34 669
c语言字符串函数详解
转载自:http://space.itpub.net/14805538/viewspace-483694void *memset(void *dest, int c, size_t count);将dest前面count个字符置为字符c.返回dest的值.void *memmove(void *dest, const void *src, size_t coun...
2012-02-24 13:16:00 92
原创 Ubuntu10.10设置固定ip
本文以将当前获得的动态ip地址设为固定ip为例首先,检查现有的ip地址:ifconfig在etho有这么一行:inet addr:172.20.14.30 Bcast:172.20.14.255 Mask:255.255.255.0将其记录下来修改ip地址配置文件:vi /etc/network/interfaces 试用动态ip的配置文件:#
2012-02-24 10:57:51 2454 1
Ubuntu10.10设置固定ip
本文以将当前获得的动态ip地址设为固定ip为例首先,检查现有的ip地址:ifconfig在etho有这么一行:inet addr:172.20.14.30 Bcast:172.20.14.255 Mask:255.255.255.0将其记录下来修改ip地址配置文件:vi /etc/network/interfaces试用动态ip的配置文件:# The pri...
2012-02-24 10:57:00 137
原创 Linux查看操作系统所有退出信号:kill -l
我的Ubuntu11.04执行结果: 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR111) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM1
2012-02-23 22:28:56 1207
Linux查看操作系统所有退出信号:kill -l
我的Ubuntu11.04执行结果: 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR111) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM1...
2012-02-23 22:28:00 347
原创 SHELL脚本中常用的控制结构
if ... then语句if [ test_command ]thencommandsfiif ... then ... else语句if [ test_command ]thencommandselsecommandsfiif ... then ... elif ... (else)语句if [ test_comman
2012-02-23 21:26:33 1205
SHELL脚本中常用的控制结构
if ... then语句if [ test_command ]thencommandsfiif ... then ... else语句if [ test_command ]thencommandselsecommandsfiif ... then ... elif ... (else)语句if [ test_comman...
2012-02-23 21:26:00 393
原创 C++应尽量使用的特性和应避免的特性
来源:《C专家编程》尽量使用的C++特性:类。构造函数和析构函数,但只限于函数体非常简单的例子。重载,包括操作符重载和I/O。单继承和多态。避免使用的C++特性:模板。异常。虚基类(virtual base class)。多重继承。就我个人而言,异常的简单使用也没问题,其它的都很赞成此书的看法。写过一年的C++,似
2012-02-23 17:25:38 746
C++应尽量使用的特性和应避免的特性
来源:《C专家编程》尽量使用的C++特性:类。构造函数和析构函数,但只限于函数体非常简单的例子。重载,包括操作符重载和I/O。单继承和多态。避免使用的C++特性:模板。异常。虚基类(virtual base class)。多重继承。就我个人而言,异常的简单使用也没问题,其它的都很赞成此书的看法。写过一年的C++,似乎也只用到了...
2012-02-23 17:25:00 118
原创 有用的C语言工具(Ubuntu Linux版本)
《C专家编程》里的第六章介绍了一些有趣&有用的C语言工具。可能因为此书写成年代距今已远且目标为SunOS这个Unix系统,有些工具在我的Ubuntu中是无法使用的。因此我简单测试了一下,总结了这些能在我的Linux上用的工具。用于检查源代码的工具工具位于何处所做工作indentsudo apt-get install inde
2012-02-22 19:28:50 3159 2
有用的C语言工具(Ubuntu Linux版本)
《C专家编程》里的第六章介绍了一些有趣&有用的C语言工具。可能因为此书写成年代距今已远且目标为SunOS这个Unix系统,有些工具在我的Ubuntu中是无法使用的。因此我简单测试了一下,总结了这些能在我的Linux上用的工具。 用于检查源代码的工具工具位于何处所做工作indentsudo apt-get install indentC程序美...
2012-02-22 19:28:00 234
转载 linux下调试core的命令,察看堆栈状态命令
转自:http://blog.csdn.net/yearn520/article/details/6663265在程序不寻常退出时,内核会在当前工作目录下生成一个core文件(是一个内存映像,同时加上调试信息)。使用gdb来查看core文件,可以指示出导致程序出错的代码所在文件和行数。 首先看看默认的一些core的参数,注意core file size是个0,程序出错时
2012-02-22 15:13:37 4405
linux下调试core的命令,察看堆栈状态命令
转自:http://blog.csdn.net/yearn520/article/details/6663265在程序不寻常退出时,内核会在当前工作目录下生成一个core文件(是一个内存映像,同时加上调试信息)。使用gdb来查看core文件,可以指示出导致程序出错的代码所在文件和行数。首先看看默认的一些core的参数,注意core file size是个0,程序出错时不会产...
2012-02-22 15:13:00 131
转载 Linux Shell变量
转自:http://www.xxlinux.com/linux/article/development/shell/2006-07-16/2802.html在Shell中有三种变量:系统变量,环境变量,用户变量。其中用户变量在编程过程中使用最多,系统变量在对参数判断和命令返回值判断会使用,环境变量主要是在程序运行的时候需要设置。1 系统变量Shell常用的系
2012-02-21 21:58:01 2236
Linux Shell变量
转自:http://www.xxlinux.com/linux/article/development/shell/2006-07-16/2802.html在Shell中有三种变量:系统变量,环境变量,用户变量。其中用户变量在编程过程中使用最多,系统变量在对参数判断和命令返回值判断会使用,环境变量主要是在程序运行的时候需要设置。1 系统变量Shell常用的系统变量并不...
2012-02-21 21:58:00 64
The Life and Work of John Forbes Nash Jr
2009-12-20
Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I
2009-12-20
NEW POLYNOMIAL-TIME ALGORITHM.pdf
2009-12-20
REMINISCENCES ABOUT THE ORIGINS OF LINEAR PROGRAMMING.pdf
2009-12-20
The Turing Test paper and von Neumann’s EDVAC report..pdf
2009-12-20
Antikythera Mechanism3.pdf
2009-12-20
Antikythera Mechanism2.pdf
2009-12-20
Antikythera Mechanism1.pdf
2009-12-20
New Directions in Cryptography, Diffie and Hellman
2009-12-20
Godel's Theorem and the Birth of the Computer-goedel.pdf
2009-12-20
Jonathan von Neumann and EDVAC
2009-12-20
《Simulating Physics with Computers》
2009-12-20
Pro Apache Struts with ajax
2009-12-11
head first java second edition english part2
2009-12-02
head first java second edition (english) part1
2009-12-02
MRGIS: A MapReduce-Enabled High PerformanceWorkflow System for GIS
2009-09-01
《JavaScript语言精髓与编程实践》精简版
2009-09-01
The Swift Java Compiler: Design and Implementation(英文)
2009-09-01
深入浅出struts2(infoq免费版,中文版)
2009-09-01
Structure and Interpretation of Computer Programs(2nd edition)
2009-07-28
web mappingn illustrated
2008-10-09
h264的结构说明,英文版
2011-11-15
jubincn博文“GDB简单教程”中的示例程序
2011-09-14
算法导论第三版 英文版
2010-12-01
GIS:A Computing Perspective 第一版 chm格式
2010-07-13
Apress.Beginning.Apache.Struts.From.Novice.to.Professional.Feb.2006.pdf
2009-12-18
Berkeley计算机经典阅读材料
2009-12-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人