
学习笔记
文章平均质量分 62
w618713
这个作者很懒,什么都没留下…
展开
-
2011/04/07学习笔记
1.在C++中,成员变量的初始化顺序与变量在类型中的申明顺序相同,而与它们在构造函数的初始化列表中的顺序无关。2.在复制构造函数中传入的参数是A的一个实例。由于是传值,把形参拷贝到实参会调用复制构造函数。因此如果允许复制构造函数传值,那么会形成永无休止的递归并造成栈溢出。因此C++的标准不允许复制构造函数传值参数,而必须是传引用或者常量引用。在Visual Studio和GCC中,都将编译出错。3.在32位机器上,任意指针都占4个字节的空间。当数组作为函数的参数进行传递时,数组就自动退化为同类型的指针。4.原创 2011-04-07 15:53:00 · 512 阅读 · 0 评论 -
结构体中字节对齐问题(转载)
<br /><br />struct MyStruct { double dda1; char dda; int type }; 对结构MyStruct采用sizeof会出现什么结果呢?sizeof(MyStruct)为多少呢?也许你会这样求: sizeof(MyStruct)=sizeof(double)+sizeof(char)+sizeof(int)=13 但是当在VC中测试上面结构的大小时,你会发现sizeof(MyStruct)为16。你知道为什么在VC中会得出这样转载 2011-04-12 15:47:00 · 2044 阅读 · 1 评论 -
C++和C中的struct和class
<br /> C++的struct可以当作class来用,他和C++中class的唯一的区别是,class中的成员默认是private,而struct的成员默认为public。 <br /> C中的struct只能是一些变量的集合体,可以封装数据却不可以隐藏数据,而且成员不可以是函数。 <br /> 关于使用大括号初始化 class和struct如果定义了构造函数的话,都不能用大括号进行初始化 如果没有定义构造函数,struct可以用大括号初始化。如果没有定义构造函数,且所有成员转载 2011-04-24 20:46:00 · 721 阅读 · 0 评论 -
一个int 数组,里面数据无任何限制,要求求出所有这样的数a[i],其左边的数都小于等于它,右边的数都大于等于它。能否只用一个额外数组和少量其它空间实现。
题目:一个int 数组,里面数据无任何限制,要求求出所有这样的数a[i],其左边的数都小于等于它,右边的数都大于等于它。能否只用一个额外数组和少量其它空间实现。分析:由于是要求数组种所有符合要求的数,所以肯定要遍历数组,时间至少为O(n);比较直观的想法是依次遍历每个元素,找出左边最大的数,看是否比该元素小,再找出右边最小的数,看是否比该元素大,这样,时间复杂度就为O(n*n),但是题原创 2012-06-07 13:40:17 · 2295 阅读 · 1 评论 -
Java中的浅拷贝和深拷贝
当类中存在可变对象数据域的时候,浅拷贝会存在问题,因为origina和copy共同引用一个可变对象,当其中一方改变对象状态时,另一方所存储的也发生改变这里的改变,是指对象变量所引用的对象不变,只是所引用的对象的状态发生改变,如果变量重新引用其他对象,则不会影响到另一方,下面的例子简单说明这种情况1.所引用的对象的状态发生改变,如果是浅拷贝,调用该方法,存在问题 public void原创 2012-05-24 13:21:48 · 1642 阅读 · 0 评论