C++
流水之川
这个作者很懒,什么都没留下…
展开
-
GDB查看C++对象布局
GDB查看C++对象布局C++类包含数据成员(static,nonstatic)和成员函数(static、nonstatic、virtual)。C++对象模型完成对数据成员和成员函数的构建。本文对以下模型的构建进行分析:单一类单继承无重写单继承有重写多继承虚继承菱形继承单一类 class Base{public: Base():m_base(0){} vir...原创 2019-04-11 21:43:15 · 4782 阅读 · 0 评论 -
STL源码阅读(1)--allocator配置器
STL源码阅读(1)–allocator配置器STL的容器都是通过模板实现的,而每个目标的模板类型中会存在一个"typename _Alloc",如vector中的template<typename _Tp, typename _Alloc = std::allocator<_Tp> >。这个“typename _Alloc”是什么?意义是什么?_Alloc是一个a...原创 2019-06-01 22:33:55 · 641 阅读 · 0 评论 -
C++重拾之static用法
C++ static用法C++ 中static关键字的用途共有五种,分别为静态全局变量、静态局部变量、静态函数和类静态成员变量,静态成员函数。静态全局变量定义在函数体外,使用static关键字修饰全局变量,该变量就被定义成为一个静态全局变量。区别于非静态全局变量,该静态全局变量只在本文件可见,非静态全局变量可通过extern在其他文件声明引用。静态局部变量定义在函数体内,生存期长于该函数...原创 2019-05-29 22:51:47 · 129 阅读 · 0 评论 -
STL源码阅读(2)–allocator::rebind
STL源码阅读(2)–allocator::rebind经过前面的了解,我想应该可以正式进入STL的容器实现的阅读了,ok那就先来看看vector的实现。vector的实现代码在bits/stl_vector.h中,可以看到的是一个类_Vector_basetemplate<typename _Tp, typename _Alloc> struct _Vector_base...原创 2019-06-02 17:03:53 · 1288 阅读 · 0 评论 -
c++ 之 std::move 原理实现与用法总结
文章目录一、左值与右值二、左值引用和右值引用1、std::move简介2、std::move详解3、std::move的优点 右值引用(及其支持的Move语意和完美转发)是C...转载 2019-06-09 10:34:48 · 690 阅读 · 1 评论 -
C++重拾之new/delete内存管理
C++基础重拾之new/delete内存管理C++中的存在三种new:new operatoroperator newplacement new与之对应便存在三种delete:delete operatoroperator deleteplacement delete1. new/delete operatornew operator为通常所用的new运算符,c++内置...原创 2019-06-09 19:47:05 · 192 阅读 · 0 评论