随笔分类 -  C/C++

1 2 3 4 下一页

C++逗号表达式
摘要:转自:https://zhidao.baidu.com/question/106961628.html 逗号表达式的语法为: 表达式1,表达式2,...表达式n C++顺序计算表达式1,表达式2,……,表达式n的值。例如: int a,b,c; a=l,b=a+2, c=b+3; 由于按顺序求值, 阅读全文

posted @ 2017-02-16 11:38 lakeone 阅读(2759) 评论(0) 推荐(1)

C++ 引用计数技术及智能指针的简单实现
摘要:转自:http://www.cnblogs.com/QG-whz/p/4777312.html 阅读目录 1.智能指针是什么 2.普通指针存在的问题 3.什么是引用计数 4.智能指针实现 4.1.基础对象类 4.2.辅助类 4.3.为基础对象类实现智能指针类 4.4.智能指针类的使用与测试 5.智能 阅读全文

posted @ 2016-11-14 09:52 lakeone 阅读(506) 评论(0) 推荐(0)

C++虚函数 - 静态函数能否为虚函数 .
摘要:1.virtual与静态函数 C++中,静态成员函数不能被声明为virtual函数。 例如,下面的程序会编译失败。 #include<iostream> class Test { public: // 编译错误:static成员函数不能声明为virtual virtual static void f 阅读全文

posted @ 2016-10-16 20:16 lakeone 阅读(17750) 评论(0) 推荐(1)

构造函数参数和类的数据成员同名时的两种写法
摘要:#include using namespace std; class Base { public: Base(int x) : x(x)//成员初始化列表中不需要也不能够用this指针指出数据成员 { } int x; }; class Base1 { public: Base1(int x) { this->x = ... 阅读全文

posted @ 2016-10-08 10:53 lakeone 阅读(2004) 评论(0) 推荐(0)

class的大小
摘要:3个问题: sizeof一个空类是多大?为什么?编译器为什么这么做? 在这个类中添加一个virtual函数后再sizeof,这时是多大?为什么? 将这个类再virtual继承一个其它的空类,这是多大?为什么? 结论: 1.对象是存在于内存中的实体,编译器必须为其分配内存空间(C++编译器还为每个类默 阅读全文

posted @ 2016-10-06 11:49 lakeone 阅读(212) 评论(0) 推荐(0)

派生表中第一个基类没有虚函数,派生类存在虚函数时的内存布局
摘要:单继承的例子: 实验结果: 结论:单继承情况下基类没有虚函数,派生类存在虚函数时,派生类的vptr会被放在最前面,接着是基类数据成员,然后是派生类数据成员。 多重继承的例子: 阅读全文

posted @ 2016-10-06 11:35 lakeone 阅读(221) 评论(0) 推荐(0)

转: inline关键字使用
摘要:1、inline用在函数声明时,还是函数定义时?还是两边都加? 首先,内联函数声明和定义最好在同一个文件中,其它的情况没有实用上的意义。 只要在同一个文件中,声明和定义至少其一加“inline”修饰即可。 2、inline的函数可不可以同时是虚函数? 可以。 因为inline只是给编译器的一种建议, 阅读全文

posted @ 2016-10-06 10:58 lakeone 阅读(179) 评论(0) 推荐(0)

单继承时虚函数表解析
摘要:1.派生类先继承基类的虚函数表,如果派生类重新定义基类的虚函数,则会覆盖相应的表项,如果派生类定义了新的虚函数,则按照声明的顺序扩充虚函数表。2. 注意:对于同时存在于基类和派生类的虚函数,派生类虚函数表的顺序是按照基类虚函数的声明顺序排列的,与派生类声明顺序无关(微信面试题)。 阅读全文

posted @ 2016-10-02 11:43 lakeone 阅读(441) 评论(0) 推荐(0)

C语言中的atan和atan2
摘要:在C语言的math.h或C++中的cmath中有两个求反正切的函数atan(double x)与atan2(double y,double x) 他们返回的值是弧度 要转化为角度再自己处理下。 前者接受的是一个正切值(直线的斜率)得到夹角,但是由于正切的规律性本可以有两个角度的但它却只返回一个,因为 阅读全文

posted @ 2016-09-30 10:33 lakeone 阅读(940) 评论(0) 推荐(0)

multiset容器erase函数的误用
摘要:《从缺陷中学习C/C++》第3章库函数问题,本章主要介绍库函数的使用中会遇到的问题。使用库函数可以降低软件开发的难度,提高代码编写的效率。本节为大家介绍multiset容器erase函数的误用。 AD: 51CTO 网+ 第十二期沙龙:大话数据之美_如何用数据驱动用户体验 《从缺陷中学习C/C++》 阅读全文

posted @ 2016-06-20 14:44 lakeone 阅读(9137) 评论(1) 推荐(7)

STL实现的底层数据结构简介
摘要:STL实现的底层数据结构简介 C++ STL 的实现: 1.vector 底层数据结构为数组 ,支持快速随机访问 2.list 底层数据结构为双向链表,支持快速增删 3.deque 底层数据结构为一个中央控制器和多个缓冲区,详细见STL源码剖析P146,支持首尾(中间不能)快速增删,也支持随机访问 阅读全文

posted @ 2016-06-20 14:33 lakeone 阅读(589) 评论(0) 推荐(0)

C++ STL中Map的按Key排序和按Value排序
摘要:原文 http://blog.csdn.net/iicy266/article/details/11906189 map是用来存放<key, value>键值对的数据结构,可以很方便快速的根据key查到相应的value。假如存储学生和其成绩(假定不存在重名,当然可以对重名加以区分),我们用map来进 阅读全文

posted @ 2016-06-19 22:26 lakeone 阅读(49468) 评论(2) 推荐(8)

algorithm库介绍之---- stable_sort()方法 与 sort()方法 .
摘要:文章转载自:http://www.cnblogs.com/ffhajbq/archive/2012/07/24/2607476.html 关于stable_sort()和sort()的区别: 你发现有sort和stable_sort,还有 partition 和stable_partition, 感 阅读全文

posted @ 2016-06-16 16:43 lakeone 阅读(513) 评论(0) 推荐(0)

构造函数、析构函数抛出异常的问题
摘要:转自:http://www.cnblogs.com/fly1988happy/archive/2012/04/11/2442765.html 1. 抛出异常 1.1 抛出异常(也称为抛弃异常)即检测是否产生异常,在C++中,其采用throw语句来实现,如果检测到产生异常,则抛出异常。 该语句的格式为 阅读全文

posted @ 2016-04-06 12:41 lakeone 阅读(443) 评论(0) 推荐(0)

类的静态数据成员初始化问题
摘要:1. 静态数据成员在类声明中声明,在包含类方法的文件中初始化。初始化时使用作用域运算符来指出静态成员所属的类。但如果静态成员是整形const或枚举型const,则可以在类声明中初始化。 C++ primer plus P426-P427类静态成员的声明和初始化   //strnbad.h   cla 阅读全文

posted @ 2016-03-13 10:52 lakeone 阅读(1207) 评论(0) 推荐(0)

C++ primer plus读书笔记——第17章 输入、输出和文件
摘要:第17章 输入、输出和文件1. 对键盘进行输入缓冲可以让用户在将输入传输给程序之前返回并更正。C++程序通常在用户按下回车键时刷新输入缓冲区。2. 一些I/O类 streambuf类为缓冲区提供了内存,并提供了用于填充缓冲区、访问缓冲区、刷新缓冲区和管理缓冲区内存的类方法。 ios_base类表示流... 阅读全文

posted @ 2016-01-06 18:17 lakeone 阅读(794) 评论(0) 推荐(0)

C++ primer plus读书笔记——第16章 string类和标准模板库
摘要:第16章 string类和标准模板库1. string容易被忽略的构造函数:string(size_type n, char c)长度为n,每个字母都为cstring(const string & str, size_type pos = 0, size_type n = pos)初始化为str中从... 阅读全文

posted @ 2016-01-06 18:16 lakeone 阅读(577) 评论(0) 推荐(0)

C++ primer plus读书笔记——第15章 友元、异常和其他
摘要:第15章 友元、异常和其他1. 友元类的所有方法都可以访问原有类的私有成员和保护成员。另外,也可以做更严格的限制,只将特定的成员函数指定为另一个类的友元。哪些函数、成员函数、或类为友元是由类定义的,而不能从外部强加友情。因此,尽管友元被授予从外部访问类的私有部分的权限,但它们并不与面向对象的编程思想... 阅读全文

posted @ 2016-01-06 18:15 lakeone 阅读(350) 评论(0) 推荐(0)

C++ primer plus读书笔记——第14章 C++中的代码重用
摘要:第14章 C++中的代码重用1. 使用公有继承时,类可以继承接口,可能还有实现(基类的纯虚函数提供接口,但不提供实现)。获得接口是is-a关系的组成部分。而使用组合,类可以获得实现,但不能获得接口。不继承接口是has-a关系的组成部分。2. C++还有另一种实现has-a关系的途径——私有继承。使用... 阅读全文

posted @ 2016-01-06 18:14 lakeone 阅读(704) 评论(0) 推荐(0)

C++ primer plus读书笔记——第13章 类继承
摘要:第13章 类继承1. 如果购买厂商的C库,除非厂商提供库函数的源代码,否则您将无法根据自己的需求,对函数进行扩展或修改。但如果是类库,只要其提供了类方法的头文件和编译后的代码,仍可以使用库中的类派生出新的类。而且可以在不公开实现的情况下将自己的类分发给其他人,同时允许他们在类中添加新特性。2. 派生... 阅读全文

posted @ 2016-01-06 18:13 lakeone 阅读(603) 评论(0) 推荐(0)

1 2 3 4 下一页

导航