随笔分类 - c++
摘要:Dr Memory 简介 Dr. Memory 是一个开源免费的内存检测工具,它能够及时发现内存相关的编程错误,比如未初始化访问、内存非法访问以及内存泄露等。它不仅能够在 Linux 下面工作,也能在微软的 Windows 操作系统上工作。不过,本文撰写时,DrMemory 仅能支持 32 位程序,
阅读全文
摘要:前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚
阅读全文
摘要:说明 在类中声明变量为const类型,但是不可以初始化 const常量的初始化必须在构造函数初始化列表中初始化,而不可以在构造函数函数体内初始化 但是 此时的const变量属于具体的一个对象,如何在整个类中都恒定不变呢? 答案是利用枚举,举例 枚举常量不会占据对象的存储空间,在编译时被全部求值 但是
阅读全文
摘要:在C++中空类会占一个字节,这是为了让对象的实例能够相互区别。具体来说,空类同样可以被实例化,并且每个实例在内存中都有独一无二的地址,因此,编译器会给空类隐含加上一个字节,这样空类实例化之后就会拥有独一无二的内存地址。如果没有这一个字节的占位,那么空类就无所谓实例化了,因为实例化的过程就是在内存中分
阅读全文
摘要:转自知乎的一段解释: 作者:知乎用户链接:https://www.zhihu.com/question/29798061/answer/144423125来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 不太想谈#define, 在题主的例子的这种用法里, 它就是个文本
阅读全文
摘要:在实现函数重载时,通常会遇到如何选择函数的问题 为了确定最佳匹配,编译器将实参类型到相应形参类型的转换划分等级,转换等级降序如下: 1)精确匹配,实参与形参类型相同; 2)通过类型提升实现的匹配; #include <iostream>using namespace std; void displa
阅读全文
摘要:一、sizeof sizeof(...)是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。 它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。 由于在编译时计算,因此sizeof不能用来返回动态分配的内存空间的大小
阅读全文

浙公网安备 33010602011771号