(转)c++的运算符重载
摘要:1.前置运算符和后置运算符,左值和右值。其实很久以来一直都没有怎么搞清楚左值和右值的区别,只知道左值可以放在等号的左边,也可以放在等号的右边,但是右值却只能放在等号的右边,然后形成一个大概直观的印象,知道怎么样做才不出错而已。不过今天看看C++,却发现有了点新的体会。对于表达式a--=5;这样一个表...
阅读全文
C++笔记--new和delete(二)
摘要:起初是在看stl源码分析的时候想到这么一个问题:new和malloc的效率孰高孰低?分两点考虑:(1)new需要在申请内存的同时执行对象的构造函数,同时返回的是指定类型的指针;但是malloc直接申请内存返回的是void类型的指针(2)new是运算符,malloc是库函数从第一点来说,new应该是效...
阅读全文
STL源码--空间配置器(一)
摘要:一、STL空间配置器allcator的主要接口allocatedeallocateconstructdestroy嵌套结构体:rebind这里稍微解释一下rebind的作用,常见用法如下,allocator::rebind::other;rebind主要是为了实现不同类型采用同样的内存分派的策略。例...
阅读全文
c++笔记--new和delete(一)
摘要:前面的话:我们都知道,当我们调用new来分配内存的时候,首先会分配内存,其次调用构造函数,最后返回指针。对于第二步失败,我们后面也将介绍,第二步失败时会调用对应的delete来释放内存。本文主要探讨第一步失败的情况。(一)内存分配失败的时候一般会怎么处理?(1)c中,malloc如果失败会返回空指针...
阅读全文