![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++知识
mmshixing
这个作者很懒,什么都没留下…
展开
-
c++之多态性(动态绑定)
多态性 指相同对象收到不同消息或不同对象收到相同消息时产生不同的实现动作。C++支持两种多态性:编译时多态性,运行时多态性。 a、编译时多态性:通过重载函数实现 b、运行时多态性:通过虚函数实现 多态性可以简单地概括为“一个接口,多种方法”,程序在运行时才决定调用的函数,它是面向对象编程领域的核心概念。多态(polymorphism),字面意思多种形状。多态亦可以解原创 2016-05-11 11:39:26 · 2066 阅读 · 0 评论 -
c++中的 trivial destructor
今天看《STL源码剖析》时看到的这个名词,google了下原文地址:http://blog.csdn.net/wudishine/article/details/12307611 如果用户不定义析构函数,而是用系统自带的,则说明,析构函数基本没有什么用(但默认会被调用)我们称之为trivial destructor。反之,如果特定定义了析构函数,则说明需要在释放空间之前做一转载 2016-05-15 11:14:18 · 689 阅读 · 0 评论 -
C++何时会帮忙合成default constructor
原文地址:http://blog.csdn.net/wangyuquanliuli/article/details/28466967C++新手一般有两个常见的误解:1.任何class如果没有定义default constructor,就会被合成出一个来。2.编译器合成出来的default constructor会显示设定“class 内每一个data member的默认转载 2016-06-29 09:28:56 · 338 阅读 · 0 评论 -
C++ traits编程技法之__type_traits
__type_trivial 双底线前缀,表示是SGI STL以外的东西,不在STL标准范围之内。__type_trivial负责萃取型别(Type)的特性,究竟是什么特性呢? 注:trivial是英文“无意义的、不重要”的意思。 答曰:这个型别是否具备non-trivialdefalt ctor、non-trivial copy ctor、non-t原创 2016-06-13 13:59:41 · 4157 阅读 · 1 评论 -
SGI STL空间配置器-第二级空间配置器
相比第一级配置器,第二级配置器多了一些机制,避免小额区块造成内存的碎片。小额区块不仅仅是碎片的问题,配置时的额外负担也是一个大问题。因为区块越小,额外负担所占的比例就越大,就越显得浪费。额外负担是指动态分配内存块的时候,位于其头部的额外信息,包括记录内存块大小的信息以及内存保护区(判断是否越界),即索取任何一块内存时,都要得有一些“税”要交给系统。SGI STL第二原创 2016-06-14 16:51:30 · 1289 阅读 · 0 评论 -
string 类的实现
string类的实现,主要包含这几个函数:构造、拷贝构造、析构、赋值、比较、字符串相加、获取长度及子串。下面是代码:#include #include using namespace std;class String{ public: String(const char* str = NULL ); //普通构造函数 String(const String原创 2016-06-22 17:10:35 · 425 阅读 · 0 评论