08 2019 档案
摘要:动态增长的数组vector,当它放入的元素满了的时候,会自动的扩充内存,但是,在计算机中内存不能够实现原地扩充,因为在申请了一块固定大小的内存之后,这块内存不管有没有用完,他后面的内存都有可能别的内容被占用。所以...
阅读全文
摘要:1. 委托构造函数委托构造函数允许在同一个类中,一个构造函数可以调用另一个构造函数,从而可以在初始化的时候简化变量的初始化。例如:定义一个test类// ConsoleApplication1.cpp : 定义控...
阅读全文
摘要:在前面的博客《C++ STL学习笔记(3) 分配器Allocator,OOP, GP简单介绍》中,简单的介绍了分配器再STL的容器中所担当的角色,这一节对STL六大部件之一的分配器进行详细的学习,从STL源代码的...
阅读全文
摘要:C++11引入了右值引用和移动语义,避免无谓的赋值,提高了程序的性能,同时,C++11引入了不定序容器,例如undored_map,标准库中的map容器插入元素的时候会自动排序,但是在不需要排序的场景下,这种额外...
阅读全文
摘要:基于范围的or循环:C++中对于for循环的写法:1. 借助容器的迭代器完成2. 中的for_each算法:3. 基于范围的for循环// ConsoleApplication1.cpp : 定义控制台应用程序的...
阅读全文
摘要:C++11对模板细节的改进:1. C++11改善了编译器的解析规则,尽可能地将多个右尖括号(>)解析为模板参数结束符,例如在C++98中:Foo > xx; // 两个右尖括号必须有空格,否则会被编译器解析成...
阅读全文
摘要:在之前的一篇博客《c++智能指针用法》中简单介绍过智能指针与Java等具有垃圾回收机制的语言相比,C++语言没有垃圾回收机制,必须自己去释放分配的内存,否则就会存在内存泄露的问题。而解决查找内存泄漏需要花费大量的...
阅读全文
摘要:继续学习侯捷老师的课程! 在前面的博客《C++ STL学习笔记(2) 容器结构与分类》中介绍了STL中常用到的容器以及他们的使用方法,在我们使用容器的时候,背后需要一个东西支持对...
阅读全文
摘要:接着学习侯捷老师的C++ STL!在使用容器的时候,需要明白容器中元素之间在内存里的关系是什么样的,是连续的,还是非连续的。容器可以分为两类:1. sequence container , 即序列容器a. Arr...
阅读全文
摘要:C++ 程序中,在新标准出现之前,C 和 C++ 都依赖一个C 库函数 rand 来产生随机数,然而,这个函数生成的是均匀分布的伪随机数,每个随机数的范围在 0 和一个最大值RAND_MAX(至少为...
阅读全文
摘要:C++中提供了异步操作相关的类:1. std::future: 异步结果的传输通道,可以很方便的获取线程函数的返回值。 在C++中,如果希望获取线程函数的返回值,就不能直接通过thread.join()得到...
阅读全文
摘要:条件变量条件变量是c++11 提供的另一种用于等待的同步机制,它能阻塞一个或者多个线程,直到收到另外一个线程发出的通知或者超时,才会唤醒当前阻塞的线程,条件变量需要和互斥量配合使用,C++11提供两种互斥变量:1...
阅读全文
摘要:C++11提供了日期和时间相关的库chrono,通过这个库可以很方便的对时间和日期进行处理:chrono库主要包含三种类型:1.时间间隔duration介绍一下duraton的原型:template>class ...
阅读全文
摘要:对于单处理器系统,处理器在一个单元时间内只能执行一个进程,操作系统系统以极快的速度在多个进程之间进行切换,营造了一种多个进程同时运行的假象。1. 一些基本概念:c++中的静态库与动态库:1. 静态库...
阅读全文
摘要:在读《C++ primer》的过程中整理一下知识点,做点笔记。单独编译:C++鼓励将组件函数放到独立的文件中,然后可以单独编译这些文件,将他们链接成可执行程序。在大型项目中,如果只改变了一个文件,则可以对这个文件...
阅读全文