自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 资源 (1)
  • 收藏
  • 关注

原创 Effective C++读书笔记(9)——杂项讨论

不要忽视编译器的警告class B{public: virtual void f() const;};class D:public B{public: virtual void f();};你是想要重新定义virtual函数,但是你少了一个const。有的编译器会显示警告D::f遮盖了B::f,但是这是在告诉你B中的f并未在D中声明。你如果忽略了警告,就会造成大量的调试时间。不同的警告信息往往跟它们看起来完全不一样,你要学会选择性忽略,但你要知道这个警告的精确意义!让自己熟悉

2020-05-16 00:56:54 139

原创 Effective C++读书笔记(8)——定制new和delete

本章讨论的new与delete适用与new[ ]与delete[ ]。还有STL容器使用的heap内存是容器所拥有的分配器对象管理的。不是被new和delete直接管理。了解new-handler的行为当operate new无法满足某一内存的分配需求的时候,就会抛出异常。但在抛出异常之前,他会调用一个客户指定的处理函数,new-handler,客户为了指定这个函数,就要使用set_new_handler,void outOfMan(){...}int main(){ std::set_ne

2020-05-16 00:24:01 149

原创 Effective C++读书笔记(7)——模板与泛型编程

泛型编程写出来的代码与其所处理的对象类型彼此独立。TMP是图灵完备的。了解隐式接口和编译期的多态面向对象是以显式接口和运行期多态解决问题//某个无意义的类与函数class Widget{public: Widget(); virtual ~Widget(); virtual std::size_t size() const; ...};//w的某些函数是virtual,显示出运行期多态//w的类型被声明为Widget,w支持Widget的接口void doProcessing(

2020-05-15 12:14:54 205

原创 Effective C++读书笔记(6)——继承与面向对象设计

确定你的public继承塑模出is-a关系public继承意味着is-a。适用于base classes身上的每一件事情也一定适用于derived classes身上,因为每个derived class对象也都是一个base calss对象。这章不知怎么写,感觉要自己体会吧。避免遮掩继承来的名称这个其实是跟作用域关系比较大,就是derived class内的名称会遮挡base classe...

2020-04-22 12:11:36 139

原创 Effective C++ 读书笔记(5)—— 实现

尽可能延后变量定义式的出现时间当一个变量的类型带有构造函数与析构函数的时候,控制流到达这个定义式就得承担构造成本,当离开作用域就必须承担析构成本,如果最后这个变量从未使用,仍然需要这些成本(在抛出异常的时候,就可能出现未被使用的情况)。尽可能延后的真正意义是:你不单单应该延后变量的定义直到使用这个变量的那一刻,而且应该延后这份定义知道能给他初值实参。对于循环来说,要判断他的构造析构成本与赋值...

2020-04-19 18:30:33 121

原创 Effective C++ 读书笔记(4)——设计与声明

让接口更容易被正确使用我们设计的接口应该在没有获得预期行为的时候禁止通过编译。可以通过导入简单的外覆类型来避免:struct Day{ explicit Month(int d); :void (d){ } int val;};class Date{public: Date(const Month& m); ... };Date d(Month(3)); ...

2020-04-18 08:03:40 107

原创 Effective C++读书笔记(3)——资源管理

资源的概念是一旦使用了该资源,将来就必须还给系统,不然就会产生不确定的行为。C++中最常使用的资源就是动态分配内存,但还有其他的资源比如文件描述器、互斥锁、图形界面的字型和笔刷、数据库连接以及网络socket。以对象管理资源以对象管理资源的话,主要是有两种关键的想法:获得资源之后立刻放进管理对象(RAII机制)管理对象运用析构函数来确保资源被释放—在析构函数中的资源释放可能会抛出异常,需...

2020-04-12 00:19:51 122

Effective C++读书笔记(2)——构造、析构、赋值运算

C++默认调用的函数当你写一个空类的时候,编译器会默认声明一个编译器版本的copy构造函数,copy assignment操作符、一个析构函数和默认构造函数(都是inline的与public)。//当声明一个空类的时候编译器默认声明以下函数//当函数调用的时候,编译器才会创建这些函数class Empty(){public: Empty(){...}; //默认构造函数...

2020-04-06 01:45:33 98

原创 Effective C++读书笔记(1)——关于宏定义、const、与对象初始化问题

前段时间写的C++程序,绝对是垃圾代码,运行效率着实差强人意。近来在看Effective C++(但是看网上有人说有些条款已经过时),就此做了些读书笔记,想说记录下来,加深下自己的印象,希望有一天能写出凑合的代码。尽量不用宏定义——#define书上建议尽量不要使用#define,而使用const、enum、inline来对#define进行替换。#define MY_VAL 99 //使...

2020-03-29 20:35:14 181

原创 C++中extern与static的一些简单使用

C++中extern的使用用extern修饰全局变量在不同的编译单元(不同的cpp文件)中使用同一个变量,可以使用extern来修饰,这时候其他的编译单元(cpp文件)也可以使用这个变量。示例代码如下://Global.h#pragma onceextern int a;//Global.cpp#include "Global.h"int a = 1;//A.h#prag...

2020-03-22 20:46:35 350

汇编工具debug

window7 32位 的debug 用于window7 64位(要装个debox)

2018-02-07

空空如也

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

TA关注的人

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