![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++语法笔记
五癫
武汉理工大学软件工程
展开
-
C++中hash_map和map接口简介
1.hash_map的使用hash_map基于哈希表。哈希表最大的优点:数据的存储和查找消耗的时间大大降低,几乎可以看成是常数时间;而代价仅仅是消耗比较多的内存。然而在当前可利用内存越来越多的 情况下,用空间换时间的做法是值得的(典型的空间换时间)。另外,编码比较容易也是它的特点之一。hash_map,首先分配一大片内存,形成许多桶。是利用hash函数,对key进行映射到不同区域(桶)进行原创 2017-08-05 14:48:56 · 1844 阅读 · 0 评论 -
C++智能指针详解
今天费脑子的东西不想看,我们就谈谈一些c++中关于智能指针的知识吧1.c++中智能指针的介绍学习c++的人都知道,在c++中,动态内存的管理是通过一对运算符来完成的:new和delete。new:在动态内存中为对象分配空间并返回一个指向该对象的指针,我们可以选择对对象进行初始化。delete:接受一个动态对象的指针,销毁该对象,并释放与之关联的内存。就我个人而言,到原创 2017-08-27 15:11:05 · 291 阅读 · 0 评论 -
具有虚函数的类的大小 & VS2010命令行查看虚函数表和类内存布局
一 VS2010命令行查看虚函数表和类内存布局以下内容引自VS2010命令行下查看虚函数表和类内存布局——《深度探索C++对象模型》读书札记系列 在学习多重继承下的Virtual functions时,需要分析派生类的虚函数表(vtable),但是在网上找了好几种Hack vtable方法,结果都不尽如人意。没想到MS Compiler(以VS2转载 2017-08-27 16:51:21 · 366 阅读 · 0 评论 -
c++中编译器必须为未申明constructor的classes合成一个default constructor的4种情况详解
对于class X,如果没有任何user-declared constructor,那么会有一个default construtor被隐式声明出来-一个被隐式声明出来的default constructor将是一个trivial(没用的)construtor1.带有默认构造函数的成员类对象如果一个class没有任何constructor,但它内含一个member object,而后者有原创 2017-09-02 20:31:08 · 619 阅读 · 0 评论 -
C++中Copy Constructor的构造操作
1.会以一个object的内容作为另一个class object的初值的三种基本情况class X{...};X x;第一种: X xx = x;第二种:值传递给函数 void test(X x);第三种:作为函数返回类型 X test();2.什么是Default Memberwise Intialization当class object以相同clas原创 2017-09-03 13:30:59 · 577 阅读 · 0 评论