随笔 - 140  文章 - 0  评论 - 15  阅读 - 24万

随笔分类 -  c/c++

1 2 下一页
堆内存和栈内存区别
摘要:原帖地址:http://hi.baidu.com/passionlh/blog/item/bb3a8181d18819debd3e1e6a.html(1) 堆栈。驻留于常规RAM(随机访问存储器)区域,但可通过它的“堆栈指针”获得处理的直接支持。堆栈指针若向下移,会创建新的内存;若向上移,则会释放那些内存。这是一种特别快、特别有效的数据保存方式,仅次于寄存器。创建程序时,J... 阅读全文
posted @ 2010-04-12 16:16 怂QQ 阅读(641) 评论(0) 推荐(0) 编辑
彻底搞清楚C/C++中日期和时间 time_t与struct tm,time(NULL),ctime;strftime
摘要:本文从介绍基础概念入手,探讨了在C/C++中对日期和时间操作所用到的数据结构和函数,并对计时、时间的获取、时间的计算和显示格式等方面进行了阐述。本文还通过大量的实例向你展示了time.h头文件中声明的各种函数和数据结构的详细使用方法。关键字:UTC(世界标准时间),Calendar Time(日历时间),epoch(时间点),clock tick(时钟计时单元)1.概念在C/C++中,对字符串的操... 阅读全文
posted @ 2010-04-12 14:50 怂QQ 阅读(929) 评论(0) 推荐(0) 编辑
null与空字符串的区别
摘要:在c++中,null表示:对象为空,它是对指针而言的。而""表示:值为空,它是对字符串而言的。在C++中Null的值为0 在C++中""的值为char '\0' 用otl读mysql的表中的数据时,空值就分为了这两种。只用is_null是无法判断的,解决办法是在sql语句中添加where colName is not null。这样就可以把两种情况都解决掉了。 阅读全文
posted @ 2010-03-01 14:07 怂QQ 阅读(2103) 评论(0) 推荐(0) 编辑
string与string.h 的作用和区别<转>
摘要:c++中 string与string.h 的作用和区别 #include <string.h> void main() { string aaa= "abcsd d"; printf("looking for abc from abcdecd %s\n", (strcmp(aaa,"abc")) ? "Found" : "Not Found"); } 不能正确执行,提示说是stri... 阅读全文
posted @ 2010-01-20 23:06 怂QQ 阅读(425) 评论(0) 推荐(0) 编辑
C语言文件读写命令
摘要:C语言把磁盘文件看成是字符(或字节)的序列,按照存储信息的形式来说,文件主要是有文本文件和二进制文件。文本文件由一个个字符组成,每个字节存放一个ASCII码制,代表一个字符。二进制文件把内存中的数据按其在内存中的存储形式原样放入磁盘空间。 二进制文件以及文本文件都可以看做是“数据流”。流文件的特点是,处理时不需考虑文件中的数据的性质、类型和存放格式。访问时只是以字节为单位对... 阅读全文
posted @ 2009-11-25 15:18 怂QQ 阅读(9666) 评论(1) 推荐(1) 编辑
delete和delete[]的区别
摘要:C++告诉我们在回收用new分配的单个对象的内存空间的时候用delete,回收用new[]分配的一组对象的内存空间的时候用delete[]。 楼主的这个问题提得很好。很多人注意到了这个问题,但是却不清楚为什么要这样做,不这样做行不行。 关于new[]和delete[],其中又分为两种情况:(1)为基本数据类型分配和回收空间;(2)为自定义类型分配和回收空间。 对于(1),上面提供的程序已经证明了d... 阅读全文
posted @ 2009-11-21 16:20 怂QQ 阅读(328) 评论(0) 推荐(0) 编辑
java和c++有什么区别
摘要:JAVA和C++都是面向对象语言。也就是说,它们都能够实现面向对象思想(封装,继乘,多态)。而由于c++为了照顾大量的C语言使用者, 而兼容了C,使得自身仅仅成为了带类的C语言,多多少少影响了其面向对象的彻底性!JAVA则是完全的面向对象语言,它句法更清晰,规模更小,更易学。它是在对多种程序设计语言进行了深入细致研究的基础上,据弃了其他语言的不足之处,从根本上解决了c++的固有缺陷。 Java和c... 阅读全文
posted @ 2009-11-15 14:44 怂QQ 阅读(294) 评论(0) 推荐(0) 编辑
【转】指针,指针数组,数组指针,函数指针
摘要:################################# ## 基本知识 ## #################################当然我们一切都是从最简单的内建类型开始,最后我会做一些推广。先看一下基本的形式,我们从这里起步!--------------指针----------------int a=10;int *p=&a;-------------指针的指针-... 阅读全文
posted @ 2009-11-14 22:16 怂QQ 阅读(374) 评论(0) 推荐(0) 编辑
C++函数模板详解
摘要:C++函数模块基础知识:一.问题:强类型语言要求我们为所有希望比较的类型都实现一个实例int min( int a, int b ) {return a < b ? a : b;}double min( double a, double b ) {return a < b ? a : b;}有一种方法可替代为每个min()实例都显式定义一个函数的方法这种方法很有吸引力但是也很危险.那就... 阅读全文
posted @ 2009-11-05 11:51 怂QQ 阅读(554) 评论(0) 推荐(0) 编辑
C++的一些小问题(二)
摘要:1. struct和class的区别•默认的访问权限不同 class中的成员默认private,struct中的成员默认public•默认的继承权限不同 class默认private继承,struct默认public继承•模板中区别 模板库中,可以使用template<class T> 或template<typename T>,但是没有... 阅读全文
posted @ 2009-11-05 10:22 怂QQ 阅读(210) 评论(0) 推荐(0) 编辑
构造函数,析构函数可不可以是虚函数?
摘要:构造函数:为对象分配存储空间,使一个对象初始化;析构函数:在该对象生命期完结时做相应的扫尾工作并释放由构造函数分配的内存;构造函数不能是虚函数的原因:自己的话:【只有基类指针指向子类对象时,虚函数才用意义。当一个基类指针指向子类对象时,子类对象已经构造好了,已经没有动态绑定的必要了,所以虚函数不能是虚函数。】从概念上来说,如前所述,虚函数机制只有在应用于地址时才有效,因为地址在编译阶段提供的类型信... 阅读全文
posted @ 2009-11-04 21:03 怂QQ 阅读(623) 评论(0) 推荐(0) 编辑
c++相对c是强类型语言
摘要:孤立地判定一个语言是弱类型还是强类型是没有意义的,因为在学术界还没有"strongly typed language"的统一的定义。我们只能说语言A相对于语言B是强类型的。笼统地将,强类型语言是能够禁止任何违反类型系统的代码的语言,或者说是能够捕获所有违反类型系统的错误的语言。我们说C++相对于C是强类型的,是因为C++禁止了一些C中的隐式转换,比如将void*转换为任意的指针类型。C语言规定所有... 阅读全文
posted @ 2009-11-04 14:50 怂QQ 阅读(1424) 评论(0) 推荐(0) 编辑
c++中动态分配数组
摘要:以前一直没有明白为什么说new可以动态的分配数组,今天终于搞清楚了。上代码[代码]这样会报错,说数组的参数不是常量。需要改成const int a=5才行。如果使用new就可以动态的定义数组的大小了,不需要常量的参数。[代码] 阅读全文
posted @ 2009-11-04 10:56 怂QQ 阅读(398) 评论(0) 推荐(0) 编辑
itoa与atoi的实现
摘要:/*itoa把整型转换成字符串 */itoa(int i, char* string){ int power, j ; j=i; for(power=1; j >= 10; j/=10) power*=10; for(; power > 0 ; power/=10){*string++ = '0'+i/power;i%=power; }*string = '\0';}刚碰到的时候对 ... 阅读全文
posted @ 2009-11-03 11:15 怂QQ 阅读(337) 评论(0) 推荐(0) 编辑
c++中explicit关键字的含义和用法
摘要:c++中的explicit关键字用来修饰类的构造函数,表明该构造函数是显式的,既然有"显式"那么必然就有"隐式",那么什么是显示而什么又是隐式的呢?如果c++类的构造函数有一个参数,那么在编译的时候就会有一个缺省的转换操作:将该构造函数对应数据类型的数据转换为该类对象,如下面所示:class MyClass{public:MyClass( int num );}....MyClass obj = ... 阅读全文
posted @ 2009-11-03 10:53 怂QQ 阅读(286) 评论(0) 推荐(0) 编辑
C++ 中的运算符重载
摘要:所谓重载,就是重新赋予新的含义。函数重载就是对一个已有的函数赋予新的含义,使之实现新功能。运算符也可以重载 ..运算符重载是对已有的运算符赋予多重含义...// 也就是说重载完之后,会根据我们定义的重载函数 自动调用最符合调用的方法使用...比如我们定义的类的重载运算符+. 当我们使用类的对象相加时,会自动调用我们定义的重载...而当我们使用内置的+法运算,比如 int b=5+3; 那么这是还是... 阅读全文
posted @ 2009-11-03 10:22 怂QQ 阅读(861) 评论(1) 推荐(0) 编辑
c++中类的默认构造函数,析构函数,拷贝构造函数
摘要:1.默认构造函数如果没有显示的为类声明构造函数,编译器将生成一个不接受任何参数。也不执行任何操作的默认构造函数。然而你可以创建自己的默认构造函数,它不接受任何参数,但根据需要对对象进行设置。编译器提供的构造函数被称为默认构造函数,但按照惯例,任何不接受参数的构造函数都是默认构造函数。如果你创建了任何构造函数,编译器不会提供构造函数。因此,如果需要一个不接受任何参数的构造函数,切已经创建了其他构造函... 阅读全文
posted @ 2009-11-02 22:55 怂QQ 阅读(1691) 评论(0) 推荐(0) 编辑
C++ 运算符优先级
摘要:PrecedenceOperatorDescriptionExampleAssociativity1()[]->.::++--Grouping operatorArray accessMember access from a pointerMember access from an objectScoping operatorPost-incrementPost-decrement(a + ... 阅读全文
posted @ 2009-11-02 10:30 怂QQ 阅读(232) 评论(0) 推荐(0) 编辑
位运算
摘要:1. 按位左移"<<"按位左移运算符"<<"的作用是对参与运算的对象按规定的位数进行左移,即对运算对象的机器码左移规定的位。在移位的过程中,高位移出的位舍弃,低位左移后补0. 左移一位相当于该数乘以2,按位左移比乘法运算快得多。2. 按位右移">>"在移位的过程中,低位移出的位舍弃,高位右移后补0或者补1.如果需要移位的数据室无符号数则补0,是有符号数则补符号位... 阅读全文
posted @ 2009-10-27 23:03 怂QQ 阅读(294) 评论(0) 推荐(0) 编辑
【转】一道小题:指向二维数组的指针...我的一点理解(int w[2][3],(*pw)[3];pw=w; 则下列错误的是 a.*(w[0]+2) b.*(pw+1)[2] c..pw[0][0] d.*(pw[1]+2) )
摘要:int w[2][3],(*pw)[3];pw=w;则下列错误的是a.*(w[0]+2)b.*(pw+1)[2] c..pw[0][0]d.*(pw[1]+2)今天晚上因为这道小题仔细研究了C的多维数组和指向多维数组的指针(归根结底,这两个东西完全一致)上面的题是二维的,当你理解了这个题之后,多维的自然就通了。。。要解决这类的问题,需要深刻理解“*,&,[]”这三个... 阅读全文
posted @ 2009-10-18 20:01 怂QQ 阅读(898) 评论(0) 推荐(0) 编辑

1 2 下一页
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示