我之前边读《Effective C++》边写下每个条款的读书笔记,这一版是C++11之前的版本。这里我将每个条款令我印象深刻的点小结一下。
1、C++包括:Plain C(面向过程)、OOP(面向对象)、模板(泛型和模板元编程)、STL(C++标准库)。
2、用inline、enum、const代替#define。#define定义的宏,一旦复杂起来,高手都很难掌控。不要带入C的习惯。
...
分类:
编程语言 时间:
2016-04-06 23:36:07
阅读次数:
508
一、简介就应用来说,map已经是STL标准库的成员,而hash_map暂时还未进入标准库,是扩展ext中的一个功能,但也是非常常用并且非常重要的库。二、简单对比首先,要说的是这两种数据结构的都提供了KEY-VALUE的存储和查找的功能。但是实现是不一样的,map是用的红黑树,查询时间复..
分类:
其他好文 时间:
2015-11-07 06:52:19
阅读次数:
403
话不多说,看代码。#include #ifndef ASSERT#include #define ASSERT assert#endif/*** 释放对象列表* @param items 对象列表* @return*/templatevoid zero_array(array& items){ AS...
分类:
其他好文 时间:
2015-05-28 07:05:35
阅读次数:
165
今天简单的实现了一下顺序栈,栈的核心函数是push(),top(),pop()。首先是我自己编写的栈,后面是STL标准库调用栈函数。
sqstack.h
//栈的简单实现lifo
#ifndef SQSTACK_H_
#define SQSTACK_H_
const int DEFAULT_SIZE=10;
#include
using std::cout;
using std::endl;...
分类:
其他好文 时间:
2015-05-25 18:49:44
阅读次数:
184
题目传送门:hdu1873看病要排队
这道题可以使用优先队列,然后自定义优先级。其余的注意细节然后就没什么问题了。
AC代码如下:#include
#include
#include
#include
#include
using namespace std;
struct man
{
int du,nu...
分类:
其他好文 时间:
2015-03-31 09:14:02
阅读次数:
195
关联容器支持高效的关键字查找和访问。两个主要的关联容器(associative-container)类型是map和set。标准库提供8个关联容器,它们的不同体现在三个维度上:
或者是一个set,或者是一个map
或者要求不重复的关键字,或者允许重复关键字
按顺序保存元素,或无序保存。
允许重复关键字的容器的开头名字中都包含单词multi;不保持关键字按顺序存储的容器的名字都以单词unord...
分类:
其他好文 时间:
2015-03-15 21:20:40
阅读次数:
236
C++ 迭代器 基础介绍
迭代器提供对一个容器中的对象的访问方法,并且定义了容器中对象的范围。迭代器就如同一个指针。事实上,C++的指针也是一种迭代器。但是,迭代器不仅仅是指针,因此你不能认为他们一定具有地址值。例如,一个数组索引,也可以认为是一种迭代器。
除了使用下标来访问 vector 对象的元素外,标准库还提供了另一种访问元素的方法:使用迭代器(iterator)。迭代器是一种检查容器内...
分类:
编程语言 时间:
2015-02-27 17:12:17
阅读次数:
162
(1)、初学者要看的书籍:《C++ primer Plus》。
(2)、学习STL标准库必备书籍:《C++ STL程序员开发指南》。
(3)、学习C++模版元编程要看的书籍:《C++模版元编程》,《C++设计新思想》
(4)、提高C++水平要看的书籍:
a、《C++沉思录》,《More Effective C++ 35个改善编程与设计的有效方法》,《C++编程剖析 问题、方案和设计准则》,...
分类:
编程语言 时间:
2015-01-21 20:08:43
阅读次数:
151
STl-traits编程技巧
无论是泛型思想或者是STL(标准库)的实际运用,迭代器(iterators)都扮演着重要的作用。STL的中心思想是:将容器和算法分开,彼此独立设计,最后再讲他们融合在一起。
容器和算法的泛型设计并不难,使用C++的类模板(class tempalte)和成员模板(function template)就能完成。
但要是将两者融合在一起,你还需要掌握一些其他的技巧,...
分类:
其他好文 时间:
2014-11-26 14:24:37
阅读次数:
208
操作系统:centos 6.4STL源码版本:3.3前言: 要看一个项目的源码,首先要选中切入点。 那么在sgi stl 标准库中,其切入点是什么呢? 答案是:stl_config.h 文件。不同的编译器对C++语言的支持程度不尽相同。为了具备广泛移植能力,SGI STL 定义了一个环境组态文...
分类:
其他好文 时间:
2014-10-29 16:56:18
阅读次数:
297