菜鸟笔记
提升您的技术认知

C++ 笔记 第46页

C++神奇的Traits

菜鸟阅读 : 3617评论(0)赞(0)

介绍traits的文章很多,但感觉大部分文章的说明都很晦涩难懂,把一个并不很复杂的C++模板的应用描述的过于复杂。忍不住想把自己的理解跟大家分享一下,或许我也只是掌握了一点traits的皮毛而已,但也希望这些皮毛能略微抓住你的眼球,带给你一...

细说 C++ Traits Classes

菜鸟阅读 : 2294评论(0)赞(0)

最近在看侯捷的《STL源码剖析》,看到第三章有关 traits 的介绍,被搞得一头雾水,看了半天不知所云。为了彻底了解这个技法的原理,硬着头皮上网查了资料,并结合 Scott Meyers 的 《Effective C++》,总算是把 tr...

一篇文章彻底搞懂哈希表

菜鸟阅读 : 5572赞(0)

1.原理讲解  HashTable就是散列表((哈希表),将从下面几个方面来讲解散列表的原理 1.1散列表的概述 在说散列表之前,我们先说一下散列技术. 什么叫散列技术呢?一句话来说,散列技术是一种查找技术,而且是一种”...

一篇文章搞懂STL中的迭代器Iterator

菜鸟阅读 : 4099赞(0)

迭代器Iterator是什么?  对于迭代器的理解可以从以下两个角度去剖析 “指针”对全部C/C++的程序猿来说,一点都不陌生。 在接触到C语言中的malloc函数和C++中的new函数后。我们也知道这两个函数返回的都是一个指针。 该指针指...

一文搞懂C++标准IO库

菜鸟阅读 : 3052赞(0)

首先看一下IO库,标准函数库,STL这些概念之间都是怎么样一个关系 介绍 什么是IO库? IO库就是有一些标准IO类组成的类库 通过这些IO类可以实现对可实现对设备(控制台,文件等)的IO操作,对内存的IO(即String类)操作 其中对控...

一篇文章彻底搞懂红黑树

菜鸟阅读 : 5620赞(0)

0.概述 如上图整理所示 红黑树是一种平衡的二叉树,引入它为了解决的问题是因为普通的二叉查找树在插入元素是正序或者逆序的时候,左右子树的高度会变得极奇不平衡,导致他就丧失了作为二叉查找树查找复杂度O(logN)的优势,复杂度会增长到O(N)...

一篇文章搞懂STL中的顺序容器之Vector

菜鸟阅读 : 2836赞(0)

0.概述 vector动态数组, 顾名思义 ,空间可以动态变化的数组,自然与数组array非常相似. array使用时必须一开始就定好使用空间,定好以后就不能变了, 使用途中要想让空间大一点,必须在重新开辟一块更大的内存空间,然后...

C++动态内存管理

菜鸟阅读 : 3249赞(0)

1.内存布局 1.0.概述   一个可执行程序文件需要在计算机硬件上运行起来, 其实质就是静态的文件被加载到内存中的过程, 可执行程序文件只是一个程序的载体。 那么执行一个应用后, 它在内存中是一个怎样的结构呢? 一个程序被加载到内存中,这...

神兵利器shared_ptr unique_ptr weak_ptr

菜鸟阅读 : 1977赞(0)

本系列的上一篇文章讲了手动方式的内存管理 new delete 这种方式往往存在很多问题  这一节将讲通过智能指针来自动管理动态内存  智能指针的引入 智能指针的引入有以下几大原因 1.在动态内存管理中,如果new上一块...

new delete完全解析

菜鸟阅读 : 3477赞(0)

在这一系列的第一篇文章中讲了 程序的内存结构  在堆区的内存是要通过new delete系列函数来分配释放的 那么在new delete的背后 程序到底做了什么?又有哪些注意点? 本文将一一解密 new operator 1. 这...