
C++
文章平均质量分 72
独孤_子喻
艰难困苦如同欢乐,终将成为人生最后的财富。
展开
-
重载 覆盖 隐藏
重载、覆盖与隐藏1).重载:成员函重载、覆盖与隐藏1).重载:成员函数具有以下的特征时发生"重载"A.相同的范围(同一个类中)B.函数的名字相同C.参数类型不同(不能进行隐式类型转换)D.Virtual关键字可有可无2).覆盖(也叫"继承"):指派生类函数覆盖基类函数,特征是:A.不同的范围(分别位于基类与派生类中)B.函数名字相同C.参数相同D.基原创 2014-09-10 16:18:57 · 425 阅读 · 0 评论 -
C++primer(第四版)复习笔记—第三篇: 类和数据抽象
数据抽象:是指定义数据和函数成员的能力; 封装:是指从常规访问中保护类成员的能力。 接口:成员函数定义了类的接口。通过将定义类所用到的数据和成员函数设置维为private来封装类。第十二章: 类1、 构造函数的初始化式只在构造函数的定义中而不是声明中指出。 2、 使用构造函数的初始化列表与在构造函数体中对类的成员变量进行赋值的区别:本质就在于前者是对变量进行初始化,而后者是对变量进行赋值。原创 2015-04-10 16:39:47 · 846 阅读 · 0 评论 -
C++primer(第四版)复习笔记—第一篇:基本语言
本次复习一方面是为了查漏补缺,另一方面也是更加深入的理解C++的思想精髓。在此记录复习中记录的各知识细节及理解,以便后续温故之用。第一张:快速入门 1. for语句: for(初始化语句;条件测试语句;条件修改表达式){ 语句体 } 。执行顺序:初始化语句在最开始执行一次,然后执行条件测试语句,若成立则执行语句体;然后再执行条件修改表达式,再执行条件测试语句,成立则继续,反之则退出for语句。原创 2015-04-02 16:46:24 · 1115 阅读 · 0 评论 -
LRUCache初步实现
以hash_map为对象容器,提供快速读取。原创 2014-09-19 20:46:41 · 528 阅读 · 0 评论 -
函数指针
void(*p)(int) :声明了一个类型为void (*)原创 2014-10-15 16:06:52 · 503 阅读 · 0 评论 -
Google的C++开源代码项目
v8 - V8 JavaScript EngineV8 是 Google 的开源 JavaScript 引擎。V8 采用 C++ 编写,可在谷歌浏览器(来自 Google 的开源浏览器)中使用。V8 根据 ECMA-262 第三版中的说明使用 ECMAScript,并在使用 IA-32 或 ARM 处理器的 Windows XP 和 Vista、Mac OS X 10.5 (L转载 2014-09-29 16:43:59 · 824 阅读 · 0 评论 -
Google之BigTable
2006年的OSDI有两篇google的论文,分别是BigTable和Chubby。Chubby是一个分布式锁服务,基于Paxos算法;BigTable是一个用于管理结构化数据的分布式存储系统,构建在GFS、Chubby、SSTable等google技术之上。相当多的google应用使用了BigTable,比如Google Earth和Google Analytics,因此它和GFS、MapRed转载 2014-09-25 10:18:14 · 542 阅读 · 0 评论 -
友元函数、友元类、访问私有数据成员、友元关系
http://www.cnblogs.com/JCSU/articles/1044346.html友元函数(friend function)1. 什么是友元函数? 一个类的私有数据成员通常只能由类的函数成员来访问,而友元函数可以访问类的私有数据成员,也能访问其保护成员2. 友元函数的用处体现在哪里? 2.1 使用友元函数可提高性能,如:用友元函数重载操作符和生成转载 2014-09-17 12:01:00 · 533 阅读 · 0 评论 -
getline()
cin.getline()istream& istream::getline( char* pch, int nCount, char delim = '\n' ); //注意 pch只能是指向字符串的指针。pch: 缓冲区指针 nCount:最大个数 delim:默认结束输入\n cin.getline() 与 cin.get(array_name,原创 2014-08-29 23:06:03 · 845 阅读 · 0 评论 -
输入输出cin,cout用法
cin建有一个缓冲区,即输入缓冲区。一次输入过程是这样的,当一次键盘输入结束时会将输入的数据存入输入缓冲区,而cin函数直接从输入缓冲区中取数据。正因为cin函数是直接从缓冲区取数据的,所以有时候当缓冲区中有残留数据时,cin函数会直接取得这些残留数据而不会请求键盘输入,这就是为什么有时会出现输入语句失效的原因! cin的一些输入函数和操作符 1. cin该操作符是根转载 2014-08-29 22:24:40 · 867 阅读 · 0 评论 -
C++输入输出流
c语言的标准输入输出库是stdio.h 是一个函数库而不是类库。其中包括了我们最常使用的scanf printf 都是一些独立的全局函数,因为C语言是不支持类的。c++的标准输入输出库iostream 是一个类库,以类的形式组织,使用该库中的类要先引用命名空间:using namespace std;最常使用的是cin和cout,这两个都是对象,cin是istream类的转载 2014-08-29 22:15:15 · 408 阅读 · 0 评论 -
C++常用关键字(C++11更新)
C++常用关键字(C++11更新) typeid:获取表达式的类型,以std::type_info(类)表示结果,可能抛出std::bad_typeid。当操作数非多态类(引用)类型在编译时即可确定结果,否则需要在运行时取得结果,即RTTI。const std::type_info&ff=typeid(ee);//typeid:Theresult of a typeid express转载 2014-09-10 16:26:27 · 519 阅读 · 0 评论 -
C++新型类型转换
1.const_cast: 形式const_cast(expression),用来修改类型的const或volatile属性,除了const或volatile修饰以外,type与expression类型一样。它主要用于移除const2.static_cast:形式static_cast ( expression ),将expression转换为type类型。 没有运行时类型检查来保证转换的安原创 2014-09-10 16:21:39 · 487 阅读 · 0 评论 -
Boost开发指南
第二章:计时器timer库 和日期时间库 date_time第三章:资源管理 ——智能指针(原始指针的代理类)smart_ptr库基本思想:用对象管理资源 RALL机制C++标准库中的auto_ptr:复制使用权转移(不支持引用计数) 不能用作STL容器元素Boost的smart_ptr库:(6个指针代理类)1、scoped_ptr:与auto_ptr类似,不能复制或者赋值原创 2014-09-10 16:57:00 · 1019 阅读 · 0 评论 -
POD数据类型
POD全称Plain Old Data——数据类型满足了”平凡的定义“和”标准布局“通俗的讲,一个类或结构体通过二进制拷贝后还能保持其数据不变,那么它就是一个POD类型。平凡的定义:1.有平凡的构造函数2.有平凡的拷贝构造函数3.有平凡的移动构造函数4.有平凡的拷贝赋值运算符5.有平凡的移动赋值运算符6.有平凡的析构函数7.不能包含虚函数8.不能包含转载 2014-09-10 16:32:38 · 966 阅读 · 0 评论 -
构造函数与初始化列表
构造函数与初始化列表: 构造函数的执行分为两步:成员初始化和一般计算(即构造函数体的语句)。对于类中的数据成员不放在初始化列表中,则会在执行构造函数体之前默认初始化;在初始化列表中的成员则在初始化列表中初始化,然后在执行函数体(第二步即一般计算)。因此在初始化列表中是初始化,即直接调用成员的构造函数构造成员;而在构造函数体内则是赋值,即覆盖之前默认的初始化值。这对于比较复杂的数据类型有原创 2014-09-10 16:20:37 · 489 阅读 · 0 评论 -
C++primer(第四版)复习笔记—第二篇:容器和算法
第九章:顺序容器1、 顺序容器的元素按其位置存储和访问,其元素的排列元素的值无关,而是按其加入的顺序存储。 关联容器。其元素按键(key)来排序。2、 标准库定义了三种顺序容器: vector/list /dequeue。 标准库还提供了三种容器适配器: 根据原始的容器类型所提供的操作,通过定义新的操作接口,来适应基础的容器类型。顺序容器: vector:支持快速随机访问 List :支持快速插入和删除 Deque:双端对列顺序容器适配器: stack:后进先出(原创 2015-04-07 09:43:46 · 879 阅读 · 0 评论