C / C++ 学习
文章平均质量分 79
wswifth
菜鸟,无限学习中……
展开
-
C语言总结
<br />用static声明局部变量:有时希望函数中的局部变量的值在函数调用结束后不消失而表留原值,即其占用的存储单元不释放,在下一次该函数调用时,该变量已有值,就是上一次函数调用结束时的值。这时就应该指定该局部变量为“静态局部变量”,用关键字static进行声明。<br /> <br />用static声明外部变量:有时在程序设计中希望某些外部变量只限于被本文件引用,而不能被其他文件引用。这时可以在定义外部变量时加一个static声明。这种加上static声明、只能用于本文件的外部变量称为静态外部变量。原创 2010-06-26 15:01:00 · 872 阅读 · 1 评论 -
C/C++内存对齐
<br />一、什么是字节对齐,为什么要对齐?<br /> 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。<br /> 对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某些特定地址开始存取。比如有些架构的CPU在访问一个没有进行对齐的变量的时候会原创 2010-07-16 18:02:00 · 798 阅读 · 0 评论 -
多态和虚表
<br />多态<br />多态的这个概念稍微有点模糊,如果想在一开始就想用清晰用语言描述它,让读者能够明白,似乎不太现实,所以我们先看如下代码: <br />//例程1 <br />#include <iostream> <br />usingnamespace std; <br /> <br />class Vehicle <br />{ <br />public: <br /> Vehicle(float speed,int total) <br />原创 2010-07-17 13:22:00 · 10699 阅读 · 1 评论 -
strcmp和strlen实现的源代码
<br />int strlen(const char* str) <br />{ <br />int i=0; <br />while(*str++) i++; <br />return i; <br />} <br /><br /><br /> <br /> <br /><br />int strcmp( const char *string1, const char *string2 ) <br />{ <br />int i; <br />do{ <br />i = (int)*string1 -(原创 2010-06-07 17:16:00 · 744 阅读 · 0 评论 -
sizeof的使用方法!!!
sizeof(int)等的大小依赖于操作系统的位数,如果是在16位DOS环境下,用TC编译,则为2,如果在windows环境下,用VC编译,则为4。第一个例子:char* ss = "0123456789"; sizeof(ss) 结果 4 ===》因为SS为指针,它反映了操作系统的位数,windows是32位的。但是如果在16位DOS环境下,用TC编译,结果是2。sizeof(*ss) 结果 1 ===》*ss是第一个字符char ss[] = "0123456789"; sizeof(ss) 结果 11原创 2010-06-08 07:18:00 · 1206 阅读 · 0 评论 -
堆和栈的区别
<br />首先,放一篇我自己比较熟悉的在JAVA中堆和栈的区别<br /> <br />栈与堆都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。 <br />Java的堆是一个运行时数据区,类的(对象从中分配空间。这些对象通过new、newarray、anewarray和multianewarray等指令建立,它们不需要程序代码来显式的释放。堆是由垃圾回收来负责的,堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,因为它是在运行时动态分转载 2010-06-09 07:31:00 · 800 阅读 · 0 评论 -
C++学习笔记(一)
用const声明的变量被称为常变量,常变量在程序运行期间是不能改变的const int a = 3; //其指定值始终为3在定义常变量时必须同事对它初始化(既指定其值)。此后它的值不能再改变string在C++中也有定义。在使用方法上和其他int,char类型一样。可用来定义变量,字符串常量以“/0”作为结束符。但将字符串常量存放到字符串变量中时,只存放字符串本身而不存放“/0”。并且在字符串中:1。字符串赋值用赋值号2。字符串连接用加号3。字符串比较直接用关系运算符为动态的分配和撤销内存,C++中使用了n原创 2010-08-05 16:21:00 · 1023 阅读 · 0 评论 -
C++学习笔记(二)
<br />友元<br /> <br />友元包括友元函数和友元类。<br />友元可以访问其有好友关系的类中的私有成员。<br /> <br />将一个普通函数在类体中通过friend关键字经行声明,就是将该函数声明为该类的友元函数。<br /> <br />在通过友元函数访问私有数据成员时,必须加上对象名。所以,友元函数一般都会有一个该类的引用变量,这个变量用于接收传来的对象。<br /> <br />友元函数不仅可以是一般函数(非成员函数),而且可以是另一个类中的成员函数。在这里,就用到了提前引用声明原创 2010-08-06 14:42:00 · 884 阅读 · 0 评论