花花世界

物联花花发现新大陆~

排序:
默认
按更新时间
按访问量

vmware + centos 7安装vmtools时提示The path "" is not a valid path to the 3.10.0-xxx.el7.x86_64 kernel h

vmware + centos 7安装vmtools时提示The path "" is not a valid path to the 3.10.0-327.el7.x86_64 kernel h

2018-04-16 10:34:13

阅读数:24

评论数:0

libnids运行机制 函数调用流程

libnids运行机制 函数调用流程

2018-04-03 17:47:06

阅读数:13

评论数:0

值得学习的C语言开源项目

值得学习的C语言开源项目- 1. WebbenchWebbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁...

2018-03-29 09:05:21

阅读数:65

评论数:0

Item 11:在赋值操作符中处理自我赋值【effective C++读书笔记】

在使用赋值操作符时要注意防止自我赋值的情况发生,例如 a[j] = a[i];   //是否可能存在i=j的情况 *px = *py;  //是否可能指向相同 处理方法如下: ①在函数开头先进行判断(证同测试),确定值不等再进行赋值操作   ①  实现异常安全性的同时避免自我赋值问题,详见Item...

2017-11-25 01:10:21

阅读数:132

评论数:0

Item 10:令赋值操作符返回一个this指针【effective C++读书笔记】

C++中赋值遵循右结合律,即 int x, y, z; x = y = z = 15; 相当于 x = (y = (z = 15)); 为了实现如上的连续赋值,赋值操作符(包括+=,-=等等)必须返回一个引用指向操作符左侧实参: class Widget{ public: …     Widget...

2017-11-24 21:06:25

阅读数:63

评论数:0

Item 9:绝不在构造和析构过程中调用虚函数【effective C++读书笔记】

考虑到构造函数调用的顺序,不要在构造函数调用虚函数。原因如下: ①因为派生类对象的虚函数是由派生类给出实现的,而派生类的构造函数是在基类的构造函数调用结束之后再调用的,因此在构造函数中调用虚函数相当于是要求访问对象内部尚未初始化的成分(派生类的构造函数还没执行),这在C++中是不允许的。   ②当...

2017-11-24 20:26:56

阅读数:84

评论数:0

Item 8:别让异常逃离析构函数【effective C++读书笔记】

不要让异常出现在析构函数里,如果是析构函数中调用的函数导致的异常,应在析构函数中对异常作出处理(try,catch),吞下异常(不传播)或结束程序。举例中close()是需要调用的函数。                                              ①  如果程序遭遇...

2017-11-24 16:47:16

阅读数:74

评论数:0

Item 7:为多态基类声明virtual析构函数【effective C++读书笔记】

为防止内存泄漏,多态性质的基类应该声明虚析构函数,任何类中只要包含有虚函数那么就应该声明虚析构函数。   “给基类一个虚析构函数”这个规则只适用于带多态性质的基类上,这种基类的设计目的是通过基类接口处理派生类对象。 如果一个类本身不作为基类使用,或者不是为了具备多态性质,那么就不应该声明虚析...

2017-11-23 22:18:30

阅读数:50

评论数:0

Item 6:若不想使用编译器自动生成的函数,就该明确拒绝【effective C++读书笔记】

一般来说,如果不希望类实现某个功能,只要不定义相关的功能函数即可,但在Item 5 中我们知道:一旦尝试调用拷贝构造函数或拷贝赋值运算符,编译器就会自动生成默认。   如果想要阻止对象拷贝操作,我们可以自定义一个uncopyable类,将拷贝构造函数和拷贝操作符声明为私有,不给出实现,再继承它...

2017-11-23 21:49:27

阅读数:68

评论数:0

Item 5:了解C++默默编写并调用哪些函数【effective C++读书笔记】

C++编译器会自动为类创建默认构造函数、默认析构函数,如果使用到了拷贝操作,编译器也会创建默认拷贝构造函数以及默认拷贝赋值运算符。如果用户自行定义了以上内容,编译器则不会进行默认创建。   拷贝赋值运算符的行为基本上与拷贝构造函数一致,但存在以下情况,编译器会拒绝生成赋值操作符: ①对一个内...

2017-11-23 20:53:52

阅读数:64

评论数:0

Item 4:确定对象被使用前已先被初始化【effective C++读书笔记】

使用未初始化的值可能会导致意料之外的结果,因此在使用前最好先做好初始化工作。 存在规则用于描述“对象的初始化动作何时一定会发生,何时不一定发生”。一般来说,C part of C++(Item 1)初始化可能招致运行期成本,那么就不保证发生初始化,但对于non-C parts of C++则...

2017-11-17 15:32:07

阅读数:86

评论数:0

Item 3:尽可能使用const【effective C++读书笔记】

const出现在星号左边,表示被指物是常量;出现在星号右边,表示指针自身是常量。 const显式地表明哪些部分是不应修改的,增强了代码的可读性,同时也让编译器在检测到非法的修改操作时及时报错。 const某些情况下可以避免将“==”写成“=”的错误 另外,const成员函数可以操作const...

2017-11-16 08:48:54

阅读数:72

评论数:0

Item 2:尽量以const,enum,inline替换#define【effective C++读书笔记】

“宁可以编译器代替预处理器”。 当使用宏定义的常量时,该符号在预编译时被直接替换为值,一旦出错则难以追踪(出错信息值显示该值而非该符号),因此最好以一个const常量代替。 以下是两种特殊情况: ①定义常量指针 const char* const book = “effective_C++...

2017-11-15 10:09:52

阅读数:91

评论数:0

Item 1:视C++为一个语言联邦【effective C++读书笔记】

C++一开始只是C加上面向对象的特性,后来当C++逐渐成熟,又增添了许多新的特性以及观念。如异常对函数的结构化带来不同的做法(Item 29),模版(Item 41),以及STL。 *如今C++已经是一种多重范型编程语言,它同时支持面向过程、面向对象、函数形式、泛型形式、元编程形式。      我...

2017-11-15 10:05:40

阅读数:84

评论数:0

链表题目整理

链表逆序、链表归并

2017-10-29 16:56:43

阅读数:129

评论数:0

各种常见排序代码整理

插入、冒泡、选择、快速

2017-10-28 08:58:32

阅读数:93

评论数:0

linux下定时执行任务的方法

linux下定时执行任务的方法

2017-10-25 16:35:04

阅读数:87

评论数:0

float类型比较大小

float类型互相比较大小以及跟0比较的正确方法

2017-10-19 11:51:32

阅读数:195

评论数:0

C++面试之GetMemory问题

C++面试之GetMemory问题

2017-10-18 12:54:06

阅读数:89

评论数:0

OpenCV边缘检测:Canny算子,Sobel算子,Laplace算子,Scharr滤波器

站在巨人的肩膀上,我们可以看的更远。感谢毛星云大大,学习了。

2017-10-15 13:08:39

阅读数:271

评论数:0

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