lezardfu的专栏

逆水行舟,不进则退

C++ Template 基础篇(四):模板与友元

Template 基础篇-模板与友元Template所代表的泛型编程是C++语言中的重要的组成部分,我将通过几篇blog对这半年以来的学习做一个系统的总结,本文是基础篇的第四部分。模板与友元的关系非常复杂,本人也整理得比较头疼,以下内容作为必要时的参考文献查找即可。Template 基础篇-模板与...

2017-03-11 22:28:18

阅读数 1045

评论数 0

C++ Template 基础篇(三):参数魔法

Template 基础篇-参数魔法Template所代表的泛型编程是C++语言中的重要的组成部分,我将通过几篇blog对这半年以来的学习做一个系统的总结,本文是基础篇的第三部分。Template 基础篇-参数魔法 默认实参 模板的模板参数 非类型参数 除了使用类型作为模板的参数之外,模板参数有更多...

2017-03-05 12:24:35

阅读数 2026

评论数 2

C++ Template 基础篇(二):类模板

Template所代表的泛型编程是C++语言中的重要的组成部分,我将通过几篇blog对这半年以来的学习做一个系统的总结,本文是基础篇的第二部分。 类模板定义 类模板 类模板中的成员函数模板 类模板Tips 类模板中的static成员 类模板成员函数实例化 类模板别名 特化与偏特化 类模板的特化与偏...

2017-02-26 15:57:03

阅读数 8921

评论数 6

C++ Template 基础篇(一):函数模板

C++ Template 基础篇(一):函数模板Template所代表的泛型编程是C++语言中的重要的组成部分,我将通过几篇blog对这半年以来的学习做一个系统的总结,本文是基础篇的第一部分。C Template 基础篇一函数模板 为什么要有泛型编程 函数模板定义 普通函数模板 成员函数模板 为什...

2017-02-24 19:40:06

阅读数 54843

评论数 3

C++ Primer阅读心得(第十六章)

1.模板实例化:C++中的模板是一个函数或者类的蓝图,编写了不局限于类型的通用代码。模板定义本身不参与编译,而是编译器根据模板的用户使用模板时提供的类型参数生成代码,再进行编译,这一过程被称为模板实例化。用户提供不同的类型参数,就会实例化出不同的代码。 2.函数模板:编译器可以根据用户使用函数模板...

2016-02-21 19:02:08

阅读数 969

评论数 1

C++ Primer阅读心得(第十五章)

1.继承:C++中的类通过继承形成一种层次关系,处在上层的类被称为基类(base class),处在下层的类被称为派生类(derived class)。基类中定义在派生类中共用的代码,提高代码的复用度;派生类在继承了基类代码的基础之上,定制自身特定的代码,增强代码的灵活性。 2.类派生列表:派生类...

2016-02-12 22:44:20

阅读数 516

评论数 0

container_of宏定义解析

linux内核中得container_of宏介绍

2015-04-07 09:27:51

阅读数 665

评论数 0

向pip源提交项目

将你的代码上传至pip源

2015-04-05 21:20:28

阅读数 2810

评论数 0

Google gflags使用说明

gflags是什么: gflags是google的一个开源的处理命令行参数的库,使用c++开发,具备python接口,可以替代getopt。 gflags使用起来比getopt方便,但是不支持参数的简写(例如getopt支持--list缩写成-l,gflags不支持)。 如何安装使用gf...

2014-04-15 13:29:17

阅读数 48551

评论数 3

C++ Primer阅读心得(第十四章)

1.不能重载的操作符  : :  .*   .  ?: 这四个。2.因为重载操作符并不能保证子表达式的求值顺序,所以&&和||的短路特性不能得到保证, ,  的从左向右求值顺序也得不到保证,所以应避免重载&& ||和 ,  。3.默认的operator&可以...

2008-04-09 01:15:00

阅读数 1109

评论数 1

C++ primer阅读心得(第十三章)

1.类的复制控制包括拷贝构造函数、赋值操作符和析构函数三个成员,这三个成员和构造函数一起控制着类对象的构造、复制和回收,如果一个类没有定义它们,那么编译器会为该类自动生成默认构造函数、默认拷贝构造函数、默认赋值操作符和默认析构函数。如果一个类自己提供了三成员之一(例如:拷贝构造函数),那么另外两个...

2008-02-07 15:43:00

阅读数 1152

评论数 1

C++ Primer阅读心得(第十二章)

1.数据抽象与封装:数据抽象是一种依赖于接口和实现分离的编程技术,用户只需要了解接口就可以使用,而不用去关心实现细节。封装是将低层次的元素组合起来形成新的、高层次实体的技术,函数是一些简单语句的封装。C++的类通过访问控制符提供数据抽象和封装,public标识了类的接口定义了数据抽象,privat...

2008-01-27 17:42:00

阅读数 790

评论数 0

C++ Primer阅读心得(第十章、第十一章)

1.泛型算法是独立于容器的;泛型算法不执行容器操作,也绝对不会改变容器的大小;泛型算法只通过迭代器与容器联系。2.泛型算法可分为三类:1).只读算法,只是读取迭代器范围内的值不做任何修改,例如:find find_first_of accumulate;2).写算法,不仅读取而且还会修改迭代器范围...

2008-01-23 22:27:00

阅读数 883

评论数 0

C++ Primer阅读心得(第八章、第九章)

1.STL中的顺序容器包括:vector list和deque三种,此外还有三种顺序容器适配器stack queue和priority_queue.2.容器的拷贝构造函数只能复制同类型的容器,如果要操作不同的容器,可以使用两个迭代器的版本。也可以将数组的上下界传入,通过数组构造容器。例:vecto...

2008-01-23 00:24:00

阅读数 1022

评论数 0

C++ Primer阅读心得(第七章)

1. 重载的函数在程序员看来是同一个函数名,但是编译之后其实是两个名字。例:int test(int a, int b)和float test(float a, float b),编译之后函数名可能是_int_int_test和_float_float_test。2.main函数不能重载(汗!)3...

2008-01-21 22:09:00

阅读数 1243

评论数 0

C++ Primer阅读心得(第六章)

1.C++语言使用调用操作符(一对括号)实现函数调用。调用操作符的操作数是函数名和参数列表,返回值是函数的返回值。(醍醐灌顶啊~~)2.尽量少使用非const类型作为函数的形参,因为这将会有诸多限制,例如:不能传const对象,不能传递常量表达式,不能传递右值(变量组成的表达式)等等。3.指向指针...

2008-01-18 00:54:00

阅读数 1946

评论数 0

C++ Primer阅读心得(第四章、第五章)

1.%操作符:当%的两个操作数都为正时,结果为正(废话);当两个操作数 都为负数时,结果为负;当两个操作数 一正一负时,结果取决于机器。2.赋值操作符是右结合的,而算术运算符是左结合的。例如:                                                     ...

2008-01-14 22:45:00

阅读数 915

评论数 0

C++ Primer阅读心得(第三章)

1. const_iterator和const iterator:在容器中,存在一个const_iterator的迭代器,对这个跌迭代器使用*号(解引用)将返回一个const对象。也就说使用const_iterator只能只读的访问容器中的数据,但是const_iterator本身可以修改。而co...

2008-01-13 01:23:00

阅读数 934

评论数 0

C++ Primer阅读心得(第二章下)

1.变量声明和定义的区别: 定义指的是为变量分配内存空间,并可以赋初值;声明指的是指定变量的类型和名称。定义本身也是一种生命。一般使用extern关键字来进行变量的声明。由此可见,区分声明和定义的关键在于是否分配了内存空间。例如: int i = 0;             //定义,既分配了空...

2008-01-11 01:55:00

阅读数 864

评论数 0

C++ Primer阅读心得(第一章、第二章上)

1.在C++中存在左值(lvalue)和右值(rvalue)的区别:左值是地址,可以出现在赋值语句的左边和右边;右值是变量的值,只可以出现在赋值语句的右边。2.对象的定义:内存中有类型的区域。首先需要是内存中的一段(010001100101...),其次还需要有个类型。3.字符串字面值的连接:若干...

2008-01-10 00:09:00

阅读数 1324

评论数 1

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