c/c++
文章平均质量分 82
Gravitoon
这个作者很懒,什么都没留下…
展开
-
C++ Primer阅读心得(第十九章)
new表达式实际上做了三个操作:1.调用operator new分配一块原始内存;2.调用构造函数创建对象;3.返回该对象的指针。delete表达式实际上做了两个操作:1.调用析构函数销毁对象;2.调用operator delete释放内存。C++只允许我们重载operator new和operator delete,也就是定制内存的分配和释放流程,而其他的内置操作我们是修改不了的。 内存的控制流程(分配与回收)由三个组件组成:重载的operator new ([])、内存不够时的处理函数new_hand原创 2022-03-28 22:53:50 · 805 阅读 · 0 评论 -
C++ Primer阅读心得(第十八章)
C++中的异常处理:通过try语句限定可能发生异常并处理的语句块,通过throw抛出异常对象,通过catch语句捕获该异常对象。try { // 业务代码 throw exeception("error"); // throw之后的所有语句都会被跳过} catch (exception& e) { // 异常处理代码}异常机制的优势在于可以把异常处理的逻辑和正常的业务逻辑分开编写,而如果采用了返回错误码的方式,则不得不将异常处理的逻辑和正常的业务逻辑放在.原创 2022-03-21 23:32:09 · 1057 阅读 · 0 评论 -
C++ Primer阅读心得(第十七章)
c++11标准库中新增了临时数据组合的tuple类型(python万岁!)。类似pair,我们可以通过make_tuple创造一个tuple,通过get获得其中的一个元素,通过tuple_size获得tuple中的元素个数,通过tuple_element获得tuple中指定元素的类型。tuple支持==、!=和<这几个关系运算符,比较时先看元素个数和类型是否匹配,然后再从左到右依次比较各个元素。//创造一个tuple<int, const char*, double>auto ex.原创 2022-03-18 23:25:30 · 1564 阅读 · 0 评论 -
container_of宏定义解析
linux内核中得container_of宏介绍原创 2015-04-07 09:27:51 · 3406 阅读 · 4 评论