自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 深度探索C++对象模型——Data语意学

深度探索C++对象模型——Data语意学一个空class与继承的相关讨论class X {}; //sizeof(X)的大小为1class Y: public virtual X {};//sizeof(Y)的大小为8class Z: public virtual X {};//sizeof(Z)的大小为8class A: public Y,public Z {};//sizeof...

2019-03-10 19:27:21 228

转载 C++断言的相关介绍(转载)

作者:炫目萧萧来源:CSDN原文:https://blog.csdn.net/u013230511/article/details/77142037版权声明:本文为博主原创文章,转载请附上博文链接!断言断言是什么?简单而言,断言是对某种假设条件进行检查。C语言中,在assert.h中,断言被定义为宏的形式(assert(expression)),而不是函数。assert将通过检查表...

2019-03-08 14:13:20 705

原创 C++右值引用相关介绍

C++右值引用相关介绍1.左值和右值左值:表达式结束后依然存在的持久对象,能对其取地址,所有的具名变量和对象;右值:表达式结束是就不存在的临时对象,不能对其取地址,不具名;2. 右值    右值有两个概念构成,一个是纯右值,一个是将亡值;纯右值:非引用返回的临时变量,运算表达式产生的临时变量,原始字面量和lamada表达式;将亡值:与右值引用相关的表达式,将要被移动的对象...

2019-03-08 14:04:19 131

原创 VIM常用命令

VIM常用命令1.Vim1.1 Vim和Vi的区别vim 是 vi 的增强版;vimtutor : 查看vim教程命令。1.2 Vim的三种模式命令模式、编辑模式、末行模式;命令模式进入编辑模式的方法:a —— 光标移动到后一位进行编辑i —— 光标移动到当前位置进行编辑o —— 光标下面新建一个空行进行编辑esc —— 返回2. Vim命令模式常用操作2.1 移...

2019-03-07 17:25:11 127

原创 C++输入输出流

C++输入输出流标准I/O用控制符来控制对象成员输出用流对象的成员函数控制输出格式    除了可以用控制符来控制输出格式外,还可以通过调用流对象cout中用于控制输出格式的成员函数来控制输出格式。用于控制输出格式的常用的成员函数如下:    流成员函数setf和控制符setiosflags括号中的参数表示格式状态,它是通过格式标志来指定的。格式标志在类ios中被定义为枚举...

2019-02-15 19:05:46 596 1

原创 Effective C++第八章——定制new 和 delete

Effective C++第八章——定制new 和 delete条款49——了解new-handler行为    当operator new抛出异常以反映一个未获得满足的内存需求之前,它会先调用一个客户指定的错误处理函数,叫new_handler;为了指定这个“用以处理内存不足”的函数,客户必须调用set_new_handler,该函数是一个声明于中的标准程序库函数。namespace...

2019-02-12 15:05:39 159

原创 Effective C++ 第九章 —— 杂项讨论

Effective C++ 第九章 —— 杂项讨论条款53——不要轻忽编译器的警告请记住:严肃对待编译器发出的警告信息。努力在你的编译器的最高(最严苛)警告级别下争取无任何警告。不要过度依赖编译器的报警能力,因为不同的编译器对待事情的态度并不相同,一旦移植到另一个编译器上,你原本依赖的警告信息可能消失。 条款54——让自己熟悉包括TR1在内的标准程序库请记住:C+...

2019-02-11 18:28:49 207 1

原创 Effective C++ 第七章—— 模板与泛型编程

Effective C++ 第七章—— 模板与泛型编程条款41——了解隐式接口和编译器多态    隐式接口(implicit interface):对于template而言所必须有效编译的一组表达式,就是类型T必须支持的一组隐式接口;    编译器多态(compile-time polymorphism):以不同的template参数具现化的function templates ...

2019-02-11 16:58:28 242

原创 Effective C++ 第六章—— 继承与面向对象设计

Effective C++ 第六章—— 继承与面向对象设计c++的OOP的特点:继承可以是单一继承或多重继承;每一个继承的链接可能是public、protected或private,也可是是virtual或non-virtual;成员函数可以是virtual或non-virtual的。条款32——确定你的public继承塑模是is-a关系    公有继承(public inheritan...

2019-02-09 14:25:52 172

原创 Effective C++ 第五章——实现

Effective C++ 第五章——实现条款26——尽可能延后变量定义式的出现时间    只要你定义了一个变量而其类型带有一个构造函数和析构函数时,那么当程序的控制流(control flow)到达这个变量定义时,你变得承受构造成本;当这边变量离开作用域时,就得承受析构成本;即使这个变量最终没有被使用,也需要耗费这些成本。例如:std::string encryptPassword(...

2019-02-08 11:42:52 130

转载 C++的四种转型操作

C++的四种转型操作1.C语言的旧式转型操作旧式转型的语法结构是由一对小括号加上一个对象名称组成(type) expression缺点在于:几乎允许将不论什么类型转换为不论什么其它类型,有其自身的缺陷,不能精确的指明转型的意图;旧式转型难以辨识,而这种语法结构在C++的任何地方都有可能使用,这就无法很直观地判断出是否是转型操作。为解决C旧式转型的缺点,C++导入了4个新的转型操...

2019-02-06 10:35:08 671

原创 Effective C++ 第四章——设计与声明

Effective C++ 第四章——设计与声明条款18——让接口容易被正确使用,不易被误用假设我们需要设计一个用于表现日期的class设计构造函数:class Date{public: Date(int month,int day,int year);...};这种设计会导致至少两个错误,客户以错误的次序传参和传递一个错误的月份或者天数。设计者需要避免错误的次序传参可以采用建...

2019-02-05 15:11:23 159

原创 Effective C++ 第三章——资源管理

Effective C++ 第三章——资源管理条款13——以对象管理资源    当动态内存分配以后,需要自己调用delete释放资源,这是很不安全的,可能由于函数过早的return或者异常的抛出,这是都可能导致没有执行delete语句。我们应该依靠C++的“析构函数的自动调用机制”确保内存的释放。    C++标准库提供智能指针以避免资源泄露,auto_ptr(被unique_ptr...

2019-02-03 17:49:46 175

原创 Effective C++ 第二章——构造、析构、赋值运算

Effective C++ 第二章——构造、析构、赋值运算条款5——了解C++默默编写并调用了哪些函数1.编译器默认提供的函数编译器为一个空类声明一个copy构造函数、一个copy assignment 操作符以及一个析构函数,若没有用户声明的构造函数,则编译器会帮忙声明一个default构造函数,这些函数均是public且inline。class Empty {};//等价于如下代码...

2019-02-03 14:27:35 190

原创 异常处理

异常处理1.抛出异常(Throwing an Exception)    异常处理机制主要有两个主要成分:异常的鉴定和发出    成员函数和非成员函数均可能产生异常和处理异常,异常出现以后,程序的正常执行被暂停(suspended),于此同时,异常处理机制会开始搜索程序中有能力处理这一异常的位置,

2019-02-01 15:56:06 113

原创 深度探索C++对象模型——关于对象

关于对象1.C++对象模式类成员两种类数据成员(class data member):static 和 nonstatic;三种类成员函数(class member function):static、nonstatic 和 virtual;对象模型简单对象模型:一个对象是一个slots(表格中的一条),一个slot对应一个成员(数据或者函数),成员(members)本身不放在对象...

2019-02-01 15:55:48 134

原创 Effective C++ 第一章——让自己习惯C++

Effective C++ 条款1——让自己习惯C++条款1——视C++为一个语言联邦C++不再是以前的C with class,而加入了很多新的特性,如Exception(异常)、template(模板)、STL。C++目前包含多重范型编程语言,支持过程形式(procedural)、面向对象形式(object-oriented)、函数形式(functional)、泛型形式(generic)、...

2019-02-01 15:55:16 185

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除