技术杂项
Alan_Pisces
这个作者很懒,什么都没留下…
展开
-
(转载:转自胡杰的个人空间)字节对齐
转载:http://space.itpub.net/10697500/viewspace-614188 一、什么是对齐,以及为什么要对齐:1. 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定变量的时候经常在特定的内存地址访问,这就需要各类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对转载 2009-11-10 12:34:00 · 1027 阅读 · 0 评论 -
局部变量生存期
for(int i = 0;i{ int b; { //此花括号很重要,它改变量局部变量a的生存期,将其生存期限制在此花括号范围内。 int a; }}原创 2009-11-18 16:21:00 · 531 阅读 · 0 评论 -
compare signed with unsigned
if (signed then: 1. signed be converted to unsigned; 2. compare so if signed value is nagetive, then you will get surprise. (signed原创 2009-11-19 17:16:00 · 510 阅读 · 0 评论 -
拷贝构造&&赋值运算符重载
class A;A a; 定义: 拷贝构造:A::A(A &a); //参数使用引用调用方式,可以减少参数对象的构造! 赋值重载:A operator =(A &a); 使用: 拷贝构造:A b = a; 赋值重载:A b; b = a; 注意:当无拷贝构造时,进行拷贝构造时默认采取memcpy;原创 2009-11-18 14:43:00 · 355 阅读 · 0 评论 -
深拷贝&&浅拷贝
深拷贝:需要拷贝类或结构中指针引用的堆资源,保持双份对资源。浅拷贝:只拷贝类中指针,二者指向统一堆资源。 因此:浅拷贝,默认拷贝构造等会造成隐含的堆资源二次析构。 甚至在一些默认的STL(例如:std::auto_ptr)中,拷贝时删除原来的,新建新的,更会增加产生错误的可能性。 采用boost::smart_ptr可以在一定程度上改善这种情况。原创 2009-11-18 15:36:00 · 349 阅读 · 0 评论