摘要:
一、sizeof sizeof(...)是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。由于在编译时计算,因此sizeof不能用来返回动态分配的内存空间的大小。实际上,用sizeof来返回类型以及静态分配的对象、结构或数组所占的空间,返回值跟对象、结构、数组所存储的内容没有关系。具体而言,当参数分别如下时,sizeof返回的值表示的含义如下:数组——编译时分配的数组空间大小;指针——存储该指针所用的空间大小(存储该指针的地址的长度,是长整型,应该为4);类型 阅读全文
摘要:
1、const_cast<type>(content)主要用于修改数据类型的const和volatile属性,#include <string>#include <iostream>using namespace std;class B{public:int m_iNum;B() {m_iNum=9;}};void foo(){const B b1;//b1.m_iNum = 100; //compile errorB b2 = const_cast<B&>(b1);//const_cast中的type必须为指针或者引用,将常量对象转换成 阅读全文
摘要:
周四回家了。下午就去办户口去了,去之前让我妹问了一下(当时我有事情正在忙),她也没问清楚,就拿着一张户口迁移单去了(别的什么也没有拿)。到那了,工作人员说,没有毕业证和报到证是不行的,你用什么证明啊?当时我一下愣那了,心里那个凉啊。毕业证没有拿回来,在学校呢,这下就急了。回来之前还以为拿着没用呢,什么也没多想,就没有拿,这下可遇到问题了。白跑一趟了(本来还想早点办完没事了呢)。 心里不停的责怪自己,要是自己之前就算找不到人问,上网查查总可以了把,这下把所有之前没有想到的办法都想了一遍,真郁闷啊。没拿着就是没拿着,就要想解决办法了把。相信办法总比困难多。 后来就给同学打电话求助,还好同学说可以. 阅读全文
摘要:
http://blog.vckbase.com/arong/archive/2009/12/30/40598.html1. 原理分析经常有些新C++程序员问:C++的类的成员个数是不是有限制,为什么我加一个变量后程序就死了?或者说:是不是成员变量的顺序很重要,为什么我两个成员变量顺序换一换程序就不行了?凡此种种之怪现象,往往都是内存访问越界所致。何谓内存访问越界,简单的说,你向系统申请了一块内存,在使用这块内存的时候,超出了你申请的范围。例如,你明明申请的是100字节的空间,但是你由于某种原因写入了120字节,这就是内存访问越界。内存访问越界的后果是:你的写入破坏了本不属于你的空间。下面是一个 阅读全文
摘要:
在C++中提供了类型向上转换和向下转换的方法。关于向上转换和向下转换区别如下:1、从派生类转换到基类,在继承图中来说是向上的,所以一般称为向上类型转换。向上类型转换总是安全的,因为从更专门的类型转换到更一般的类型。可能出现的唯一的事情就是失去成员函数。向上转换可以通过虚函数来实现。下面的程序就是一个向上转换的例子:class base{base(){}virtual ~base(){}};class derived:public base{derived(){}virtual ~derived(){}};void main(){base *Base=new derived;//这里就是将der 阅读全文