自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

转载 c++继承中的内存布局

今天在网上看到了一篇写得非常好的文章,是有关c++类继承内存布局的。看了之后获益良多,现在转在我自己的博客里面,作为以后复习之用。——谈VC++对象模型(美)简.格雷程化    译译者前言一个C++程序员,想要进一步提升技术水平的话,应该多了解一些语言的语意细节。对于使用VC++的程序员来说,还应该了解一些VC++对于C++的诠释。 Inside the C++ O

2012-10-30 01:32:42 991

原创 关联容器的基本操作简单总结

C++ STL中标准关联容器set, multiset, map, multimap内部采用的就是一种非常高效的平衡检索二叉树:红黑树,也成为RB树(Red-Black Tree)。RB树的统计性能要好于一般平衡二叉树,所以被STL选择作为了关联容器的内部结构。这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的,后边我们会见识到有序的好处。set&multiset一,

2012-10-13 21:25:01 1995

原创 set和multiset容器

1 set和multiset容器的能力set 和multiset容器的内部结构通常由平衡二叉树(balancedbinary tree)来实现。当元素放入容器中时,会按照一定的排序法则自动排序,默认是按照less2 set和multiset容器的操作Constructor and Destructor set c:创建一个空的set或multiset容器 se

2012-10-13 20:16:07 4002 1

原创 map的详细用法

map的详细用法:      map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数

2012-10-13 17:27:44 122143 19

转载 hash表

转自   http://blog.csdn.net/feixiaoxing/article/details/6885657    hash表,有时候也被称为散列表。个人认为,hash表是介于链表和二叉树之间的一种中间结构。链表使用十分方便,但是数据查找十分麻烦;二叉树中的数据严格有序,但是这是以多一个指针作为代价的结果。hash表既满足了数据的查找方便,同时不占用太多的内容空间,使用也十分

2012-10-12 01:09:22 1296

原创 memmove 和 memcopy

1,memmove 函数原型:void *memmove(void *dest, const void *source, size_t count)返回值说明:返回指向dest的void *指针参数说明:dest,source分别为目标串和源串的首地址。count为要移动的字符的个数函数说明:memmove用于从source拷贝count个字符到dest,如果目标区域和源区域有

2012-10-10 00:41:21 985

原创 智能指针auto_ptr

很多人听说过标准auto_ptr智能指针机制,但并不是每个人都天天使用它。这真是个遗憾,因为auto_ptr优雅地解决了C++设计和编码中常见的问题,正确地使用它可以生成健壮的代码。本文阐述了如何正确运用auto_ptr来让你的代码更加安全——以及如何避免对auto_ptr危险但常见的误用,这些误用会引发间断性发作、难以诊断的bug。1.为什么称它为“自动”指针?auto_pt

2012-10-10 00:16:18 1601 2

原创 单例模式

看单例模式的例子:C/C++ code#include iostream>class Singleton{private: Singleton(int i=0):val(i){ //构造函数私有 std::cout"constructor,member val = "valstd::endl; } int val; stat

2012-10-09 20:43:47 817

原创 构造函数定义为private,protected的好处

将构造函数,析构函数声明为私有和保护的,那么对象如何创建?已经不能从外部调用构造函数了,但是对象必须被构造,应该如何解决,麻烦大家帮忙说明,关于构造,析构函数声明为私有和保护时的用法??? 提出这个问题,说明你已经对c++有所思考了。从语法上来讲,一个函数被声明为protected或者private,那么这个函数就不能从“外部”直接被调用了。对于protected的函数

2012-10-09 17:00:59 1526

原创 string实现

#includeusing namespace std; class String{    friend ostream& operator<< (ostream&,String&);public:    String(const char* str=NULL);                //赋值构造兼默认构造函数(char)    String(const String &o

2012-10-08 00:47:31 2748

原创 mutable

mutable关键字  关键字mutable是C++中一个不常用的关键字,他只能用于类的非静态和非常量数据成员  我们知道一个对象的状态由该对象的非静态数据成员决定,所以随着数据成员的改变,  对像的状态也会随之发生变化!  如果一个类的成员函数被声明为const类型,表示该函数不会改变对象的状态,也就是  该函数不会修改类的非静态数据成员.但是有些时候需要在该类函数中对类的数

2012-10-08 00:10:25 845

转载 C++ 虚函数表解析

C++ 虚函数表解析 陈皓http://blog.csdn.net/haoel  前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,R

2012-10-07 01:05:42 504

转载 常用算法经典代码(C++版)

转自http://blog.renren.com/share/601054749/14194486216?from=0101010202&ref=minifeed&sfet=102&fin=8&ff_id=601054749一、快速排序void qsort(int x,int y) //待排序的数据存放在a[1]..a[n]数组中  {int h=x,r=y

2012-10-04 22:38:16 1712

转载 0-1背包问题 动态规划

分析如下:题目有N件物品和一个容量为V的背包。第i件物品的重量是c[i],价值是w[i]。求解将哪些物品装入背包可使价值总和最大。基本思路这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。用子问题定义状态:即f[i][v]表示前i件物品恰放入一个容量为v的背包可以获得的最大价值。则其状态转移方程便是:f[i][v]=max{f[i-1][v],f[i-1][

2012-10-04 22:13:42 1378

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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