自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

潇汀

享受生活,享受生命~

  • 博客(17)
  • 资源 (61)
  • 收藏
  • 关注

原创 ※数据结构※→☆非线性结构(tree)☆============二叉搜索树(二叉查找树) 链式存储结构(tree Binary Search list)(二十五)

二叉搜索树(二叉查找树)        二叉查找树(Binary Search Tree),或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树。原理        二叉排序树的查找过程和次优二叉树类似,通常采取二叉链表作为二

2013-10-25 17:31:51 33434

转载 《程序员》 -- 如何提高团队协作的效率

自己非常喜欢《程序员》杂志,《程序员》杂志在一定程序上很能开阔我们的视野。因此,一直都想推荐给大家。方便大家相互学习交流,本文转自《程序员》杂志http://www.csdn.net/article/2013-09-27/2817072————————————————————————————————————————————————————————————————————

2013-10-25 16:46:42 17776 2

转载 《程序员》 -- Intention.js:轻量级响应式开发工具

自己非常喜欢《程序员》杂志,《程序员》杂志在一定程序上很能开阔我们的视野。因此,一直都想推荐给大家。方便大家相互学习交流,本文转自《程序员》杂志http://www.csdn.net/article/2013-10-10/2817137————————————————————————————————————————————————————————————————————

2013-10-25 16:44:28 11670

转载 《程序员》 -- 十年创业之心得

自己非常喜欢《程序员》杂志,《程序员》杂志在一定程序上很能开阔我们的视野。因此,一直都想推荐给大家。方便大家相互学习交流,本文转自《程序员》杂志http://www.csdn.net/article/2013-09-28/2817079————————————————————————————————————————————————————————————————————

2013-10-25 16:41:53 12114 1

转载 《程序员》 -- 并轨国际,中国开源基金会即将扬帆起航——记中国开源基金会微峰会

自己非常喜欢《程序员》杂志,《程序员》杂志在一定程序上很能开阔我们的视野。因此,一直都想推荐给大家。方便大家相互学习交流,本文转自《程序员》杂志http://www.csdn.net/article/2013-09-29/2817084————————————————————————————————————————————————————————————————————

2013-10-24 17:59:12 13260

转载 《程序员》 -- 极路由的硬件之路

自己非常喜欢《程序员》杂志,《程序员》杂志在一定程序上很能开阔我们的视野。因此,一直都想推荐给大家。方便大家相互学习交流,本文转自《程序员》杂志http://www.csdn.net/article/2013-09-27/2817066————————————————————————————————————————————————————————————————————

2013-10-24 17:57:04 12987

转载 《程序员》 -- 国博微信公众号,一天涨出一个“小道消息”

自己非常喜欢《程序员》杂志,《程序员》杂志在一定程序上很能开阔我们的视野。因此,一直都想推荐给大家。方便大家相互学习交流,本文转自《程序员》杂志http://www.csdn.net/article/2013-09-27/2817065————————————————————————————————————————————————————————————————————

2013-10-24 17:53:21 14432

转载 《程序员》 -- 学习新工具新技术的两种实用方法

自己非常喜欢《程序员》杂志,《程序员》杂志在一定程序上很能开阔我们的视野。因此,一直都想推荐给大家。方便大家相互学习交流,本文转自《程序员》杂志http://www.csdn.net/article/2013-09-27/2817062————————————————————————————————————————————————————————————————————

2013-10-22 22:27:06 12534

转载 《程序员》 -- 瞬时响应:网站的高性能架构

自己非常喜欢《程序员》杂志,《程序员》杂志在一定程序上很能开阔我们的视野。因此,一直都想推荐给大家。方便大家相互学习交流,本文转自《程序员》杂志http://www.csdn.net/article/2013-09-26/2817048————————————————————————————————————————————————————————————————————

2013-10-22 22:23:01 12726

转载 《程序员》 -- 风投过后,初创公司胜算几成?

自己非常喜欢《程序员》杂志,《程序员》杂志在一定程序上很能开阔我们的视野。因此,一直都想推荐给大家。方便大家相互学习交流,本文转自《程序员》杂志http://www.csdn.net/article/2013-08-27/2816721——————————————————————————————————————————————————————————————————————

2013-10-21 11:13:45 13002

转载 《程序员》 -- 说说软件专利

自己非常喜欢《程序员》杂志,《程序员》杂志在一定程序上很能开阔我们的视野。因此,一直都想推荐给大家。方便大家相互学习交流,本文转自《程序员》杂志http://www.csdn.net/article/2013-08-27/2816721——————————————————————————————————————————————————————————————————

2013-10-21 11:07:23 15633

原创 ※数据结构※→☆非线性结构(tree)☆============二叉搜索树(二叉查找树) 顺序存储结构(tree Binary Search sequence)(二十四)

二叉搜索树(二叉查找树)        二叉查找树(Binary Search Tree),或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树。原理        二叉排序树的查找过程和次优二叉树类似,通常采取二叉链表作为二

2013-10-18 11:52:41 35501

原创 ※C++随笔※=>☆C++基础☆=>※№→C++中 #include<>与#include""

#include        使用尖括号表示在包含文件目录中去查找(包含目录是由用户在设置环境时设置的),而不在源文件目录去查找; #include""        使用双引号则表示首先在当前的源文件目录中查找,若未找到才到包含目录中去查找;MSDN的相关说明        #include""                This form inst

2013-10-10 11:50:10 21465

原创 ※数据结构※→☆非线性结构(tree)☆============哈夫曼树 链式存储结构(tree Huffman list)(二十三)

哈夫曼树 (Huffman Tree)        给定n个权值作为n个叶子结点,构造一棵二叉树,若带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman tree)。哈夫曼树(霍夫曼树)又称为最优树.        1、路径和路径长度                在一棵树中,从一个结点往下可以达到的孩子或孙子结点之间的通路,称为路径。通路

2013-10-10 10:43:42 54118

原创 ※C++随笔※=>☆C++基础☆=>※№→友元●友元函数●友元类●友元模板

友元        友元可以是一个函数,该函数被称为友元函数;友元也可以是一个类,该类被称为友元类。        注意:                 不管是友元函数还是友元类,定义友元关系前必须先声明友元函数        友元函数是能够访问类中的私有成员的非成员函数。友元函数从语法上看,它与普通函数一样,即在定义上和调用上与普通函数一样。

2013-10-09 21:21:04 21369

原创 ※数据结构※→☆非线性结构(tree)☆============哈夫曼树 顺序存储结构(tree Huffman sequence)(二十二)

哈夫曼树 (Huffman Tree) 给定n个权值作为n个叶子结点,构造一棵二叉树,若带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman tree)。哈夫曼树(霍夫曼树)又称为最优树. 1、路径和路径长度 在一棵树中,从一个结点往下可以达到的孩子或孙子结点之间的通路,称为路径。通路中分支的数目称为路径长度。若规定根结点的层数为1,则从根结点到第L层结点的路径长度为L-1。 2、结点的权及带权路

2013-10-08 11:19:05 54100 1

原创 ※版本管理※=>☆SVN工具☆=>※№ TortoiseSVN 属性 详解

1.  TortoiseSVN属性 1.1.  文件夹属性tsvn: 属性tsvn:只能在文件夹设置。当你提交文件或文件夹时,这些属性从文件夹读取。如果没有发现这些属性,TortoiseSVN会向上级目录搜索,直到未版本控制的文件夹,或到达根目录(例如 C:\) 。如果你确认每个用户都是从同一个目录检出,例如 trunk/,而不是其它子目录,那么只在 trunk/设置属性就足够了。如果

2013-10-08 10:30:18 24023

C++程序调试实用手册 DeBUGGING C++

原书名: DeBUGGING C++ 原出版社 作者: (美)Chris H.Pappas William H.Murray等 译者: 段来盛 郝阿朋 郝曙光 等 书号: 7-5053-6214-3 页码: 528 开本: 定价: ¥56.00 丛书名 软件工程师捉虫系列 出版社: 电子工业出版社 出版日期: 2000-10-1 本书作为有关Visual C++ Debugger的专著,是一本非常难得的好书。书中深入地分析了开发不包地辑和语法错误的代码技巧以及调试程序的基本原理,介绍了开发和调试命令行代码的过程和方法,说明了关于定位、分析及修复编程错误的方法,介绍了开发Visual C++程序时所遇到的特殊调试问题。 本书是所有软件工程师的必读书籍,也可作为大专院校师生的参考资料。

2013-09-03

C++深层探索.pdf

C++深层探索 如果你已初步了解C++,想深入了解的话,那么你就好好阅读这本书吧!

2013-09-02

《编译器与编译器生成器(C++版).pdf》

Compilers and Compiler Generators an introduction with C++ ?P.D. Terry, Rhodes University, 1996 p.terry@ru.ac.za This is a set of Postcript?files of the text of my book "Compilers and Compiler Generators - an introduction with C++", published in 1997 by International Thomson Computer Press. The original edition is now out of print, and the copyright has reverted to me. The book is also available in other formats. The latest versions of the distribution and details of how to download up-to-date compressed versions of the text and its supporting software and courseware can be found at http://www.scifac.ru.ac.za/compilers/ The text of the book is Copyright ?PD Terry. Although you are free to make use of the material for academic purposes, the material may not be redistributed without my knowledge or permission.

2013-09-02

《泛性程式设计与C++标准程式库.pdf》

泛型程式設計與 C++ 標準程式庫 generic programming and the C++ Standard Library 一開始,讓我們考慮泛型程式設計領域裡頭挑選出來的幾個題目。這些難題的焦 點放在如何有效使用 templates, iterators, algorithms,以及如何使用並擴充標準程 式庫的設施。然後,這些想法會漂亮地導引出下一個章節,分析撰寫 exception-safe templates 時所謂的異常安全性(exception safety)。 條款1:Iterators 困難度

2013-09-02

《编译原理(第3版).pdf》

编译原理是计算机专业的一门重要专业课,旨在介绍编译程序构造的一般原理和基本方法。内容包括语言和文法、词法分析、语法分析、语法制导翻译、中间代码生成、存储管理、代码优化和目标代码生成。 编译原理是计算机专业设置的一门重要的专业课程。虽然只有少数人从事编译方面的工作,但是这门课在理论、技术、方法上都对学生提供了系统而有效的训练,有利于提高软件人员的素质和能力。 目前各个大学使用的教材机械工业出版社、国防工业出版社出版的《编译原理》。

2013-09-02

《C++语言核心必备.pdf》

C++语言核心必备 你懂的 哈哈 加油哦

2013-09-02

《ACE程序员指南》

ACE程序员指南 [ Team LiB ] • Table of Contents ACE Programmer's Guide, The: Practical Design Patterns for Network and Systems Programming By Stephen D. Huston, James CE Johnson, Umar Syyid Publisher : Addison Wesley Pub Date : November 14, 2003 ISBN : 0-201-69971-0 Pages : 544 "If you're designing software and systems that must be portable, flexible, extensible, predictable, reliable, and affordable, this book and the ACE toolkit will enable you to be more effective in all of these areas. Even after spending over a decade developing ACE and using it to build networked software applications, I find that I've learned a great deal from this book, and I'm confident that you will, too." -Douglas C. Schmidt, Inventor of ACE, from the Foreword "This book is a must-have for every ACE programmer. For the beginner, it explains step-by-step how to start using ACE. For the more experienced programmer, it explains in detail the features used daily, and is a perfect reference manual. It would have saved me a lot of time if this book had been available some years ago"! -Johnny Willemsen, Senior Software Engineer, Remedy IT, The Netherlands "With a large C++ code base, we rely on ACE to enable a cross-platform client-server framework for data quality and data integration. ACE has improved our design and smoothed over OS idiosyncrasies without sacrificing performance or flexibility. The combination of online reference materials and printed "big picture" guides is indispensable for us, and The ACE Programmer's Guide earns top-shelf status in my office." -John Lilley, Chief Scientist, DataLever Corporation "In SITA air-ground division, we are one of the major suppliers of communication services to the airline industry. We started using ACE about a year ago and are now moving most of our new communication-related development to it. I can say that using this toolkit can reduce the development and testing time by at least 50% in our type of application". -Jean Millo, Senior Architect, SITA The ADAPTIVE Communication Environment (ACE) is an open-source software toolkit created to solve network programming challenges. Written in C++, with the help of 30 core developers and 1,700 contributors, this portable middleware has evolved to encapsulate and augment a wide range of native OS capabilities essential to support performance-driven software systems. The ACE Programmer's Guide is a practical, hands-on guide to ACE for C++ programmers building networked applications and next-generation middleware. The book first introduces ACE to beginners. It then explains how you can tap design patterns, frameworks, and ACE to produce effective, easily maintained software systems with less time and effort. The book features discussions of programming aids, interprocess communication (IPC) issues, process and thread management, shared memory, the ACE Service Configurator framework, timer management classes, the ACE Naming Service, and more. [ Team LiB ]

2013-09-02

深度探索C++对象模型

《深度探索C++对象模型》重点探索"对象导向程序所支持的C++对象模型"下的程序行为。对于"对象导向性质之基础实现技术"以及"各种性质背后的隐含利益交换"提供一个清楚的认识。检验由程序变形所带来的效率冲击。提供丰富的程序范例、图片,以及对象导向观念和底层对象模型之间的效率测量。专注于C++对象导向程序设计的底层机制,包括结构式语意、暂时性对象的生成、封装、继承,以及虚拟——虚拟函数和虚拟继承。 本立道生(侯捷 译序) 目录 前言(Stanley B.Lippman) 第0章 导读(译者的话) 第1章 关于对象(Object Lessons) 加上封装后的布局成本(Layout Costs for Adding Encapsulation) 1.1 C++模式模式(The C++ Object Model) 简单对象模型(A Simple Object Model) 表格驱动对象模型(A Table-driven Object Model) C++对象模型(The C++ Object Model) 对象模型如何影响程序(How the Object Model Effects Programs) 1.2 关键词所带来的差异(A Keyword Distinction) 关键词的困扰 策略性正确的struct(The Politically Correct Struct) 1.3 对象的差异(An Object Distinction) 指针的类型(The Type of a Pointer) 加上多态之后(Adding Polymorphism) 第2章 构造函数语意学(The Semantics of constructors) 2.1 Default Constructor的建构操作 “带有Default Constructor”的Member Class Object “带有Default Constructor”的Base Class “带有一个Virual Function”的Class “带有一个virual Base class”的Class 总结 2.2 Copy Constructor的建构操作 Default Memberwise Initialization Bitwise Copy Semantics(位逐次拷贝) 不要Bitwise Copy Semantics! 重新设定的指针Virtual Table 处理Virtual Base Class Subobject 2.3 程序转换语意学(Program Transformation Semantics) 明确的初始化操作(Explicit Initialization) 参数的初始化(Argument Initialization) 返回值的初始化(Return Value Initialization) 在使用者层面做优化(Optimization at the user Level) 在编译器层面做优化(Optimization at the Compiler Level) Copy Constructor:要还是不要? 摘要 2.4 成员们的初始化队伍(Member Initialization List) 第3章 Data语意学(The Semantics of Data) 3.1 Data Member的绑定(The Binding of a Data Member) 3.2 Data Member的布局(Data Member Layout) 3.3 Data Member的存取 Static Data Members Nonstatic Data Member 3.4 “继承”与Data Member 只要继承不要多态(Inheritance without Polymorphism) 加上多态(Adding Polymorphism) 多重继承(Multiple Inheritance) 虚拟继承(Virtual Inheritance) 3.5 对象成员的效率(Object Member Efficiency) 3.6 指向Data Members的指针(Pointer to Data Members) “指向Members的指针”的效率问题 第4章 Function语意学(The Semantics of Function) 4.1 Member的各种调用方式 Nonstatic Member Functions(非静态成员函数) Virtual Member Functions(虚拟成员函数) Static Member Functions(静态成员函数) 4.2 Virtual Member Functions(虚拟成员函数) 多重继承下的Virtual Functions 虚拟继承下的Virtual Functions 4.3 函数的效能 4.4 指向Member Functions的指针(Pointer-to-Member Functions) 支持“指向Virtual Member Functions”之指针 在多重继承之下,指向Member Functions的指针 “指向Member Functions之指针”的效率 4.5 Inline Functions 形式对数(Formal Arguments) 局部变量(Local Variables) 第5章 构造、解构、拷贝 语意学(Semantics of Construction,Destruction,and Copy) 纯虚拟函数的存在(Presence of a Pure Virtual Function) 虚拟规格的存在(Presence of a Virtual Specification) 虚拟规格中const的存在 重新考虑class的声明 5.1 无继承情况下的对象构造 抽象数据类型(Abstract Data Type) 为继承做准备 5.2 继承体系下的对象构造 虚拟继承(Virtual Inheritance) 初始化语意学(The Semantics of the vptr Initialization) 5.3 对象复制语意学(Object Copy Semantics) 5.4 对象的功能(Object Efficiency) 5.5 解构语意学(Semantics of Destruction) 第6章 执行期语意学(Runting Semantics) 6.1 对象的构造和解构(Object Construction and Destruction) 全局对象(Global Objects) 局部静态对象(Local Static Objects) 对象数组(Array of Objects) Default Constructors和数组 6.2 new和delete运算符 针对数组的new语意 Placement Operator new的语意 6.3 临时性对象(Temporary Objects) 临时性对象的迷思(神话、传说) 第7章 站在对象模型的类端(On the Cusp of the Object Model) 7.1 Template Template的“具现”行为(Template Instantiation) Template的错误报告(Error Reporting within a Template) Template中的名称决议方式(Name Resolution within a Template) Member Function的具现行为(Member Function Instantiation) 7.2 异常处理(Exception Handling) Exception Handling快速检阅 对Exception Handling的支持 7.3 执行期类型识别(Runtime Type Identification,RTTI) Type-Safe Downcast(保证安全的向下转型操作) Type-Safe Dynamic Cast(保证安全的动态转型) References并不是Pointers Typeid运算符 7.4 效率有了,弹性呢? 动态共享函数库(Dynamic Shared Libraries) 共享内存(Shared Memory)

2013-08-30

Effective.STL.pdf

世界级C++大师Scott Meyers之Effective三部曲之一,中国C++技术先驱及著名作译者潘爱民先生经典译作——如同Meyers的其他著作一样,本书充满了从实践中总结出来的智慧,其清晰、简明、透彻的风格,必将使每一位STL程序员从中获益。 内容提要 C++标准模板库(STL)是革命性的,但是要想学会并用好却并不容易。 Scott Meyers(Effective C++与More effective c++的作者)揭示了专家总结的一些关键规则,既有专家们总是采用的做法,也有专家们总是避免的做法。通过这些规则,STL程序员可以最大限度地使用STL。在讲述50条指导原则时, 本书提供了透彻的分析和深刻的实例,以让读者学到要做什么,什么时候该这样做,以及为什么要这样做。 目录 引言...............................................................................................................1 1容器..........................................................................................9 第1 条:慎重选择容器类型。...............................................................9 第2 条:不要试图编写独立于容器类型的代码。....................................12 第3 条:确保容器中的对象拷贝正确而高效。.......................................16 第4 条:调用empty 而不是检查size()是否为0。................................... 18 第5 条:区间成员函数优先于与之对应的单元素成员函数。............................20 第6 条:当心C++编译器最烦人的分析机制。.................................................... 26 第7 条:如果容器中包含了通过new 操作创建的指针,切记在容器对象析构前将 指针delete 掉。.........................................................................28 第8 条:切勿创建包含auto_ptr 的容器对象。......................................... 32 第9 条:慎重选择删除元素的方法。...............................................................34 第10 条:了解分配子(allocator)的约定和限制。........................................... 38 第11 条:理解自定义分配子的合理用法。.............................................44 第12 条:切勿对STL 容器的线程安全性有不切实际的依赖。......................... 47 2 vector 和string.....................................................................................51 第13 条:vector 和string 优先于动态分配的数组。.............................................51 第14 条:使用reserve 来避免不必要的重新分配。............................................. 53 第15 条:注意string 实现的多样性。.......................................................... 55 第16 条:了解如何把vector 和string 数据传给旧的API。.................................... 60 第17 条:使用“swap 技巧”除去多余的容量。................................................... 63 第18 条:避免使用vector。.................................................................................64 3关联容器..........................................................................................................................67 第19 条:理解相等(equality)和等价(equivalence)的区别。......................................67 第20 条:为包含指针的关联容器指定比较类型。........................................71 第21 条:总是让比较函数在等值情况下返回false。.............................................. 74 第22 条:切勿直接修改set 或multiset 中的键。...............................................77 第23 条:考虑用排序的vector 替代关联容器。............................................... 82 第24 条:当效率至关重要时,请在map::operator[]与map::insert 之间谨慎做出选择。..... ...................... 87 第25 条:熟悉非标准的散列容器。...........................................................................91 4迭代器..............................................................................................................95 第26 条:iterator 优先于const_iterator、reverse_iterator及const_reverse_iterator。.....95 第27 条:使用distance 和advance 将容器的const_iterator转换成iterator。............ 98 第28 条:正确理解由reverse_iterator 的base()成员函数所产生的iterator 的用法。.... ...................... 101 第29 条:对于逐个字符的输入请考虑使用istreambuf_iterator。......................... 103 5算法...............................................................................................................................106 第30 条:确保目标区间足够大。.......................................................................107 第31 条:了解各种与排序有关的选择。................................................................110 第32 条:如果确实需要删除元素,则需要在remove 这一类算法之后调用erase。...........115 第33 条:对包含指针的容器使用remove 这一类算法时要特别小心。.....................118 第34 条:了解哪些算法要求使用排序的区间作为参数。..................................121 第35 条:通过mismatch 或lexicographical_compare 实现简单的忽略大小写的字符 串比较。..................................................................124 第36 条:理解copy_if 算法的正确实现。............................................................. 128 第37 条:使用accumulate 或者for_each 进行区间统计。....................................130 6函数子、函数子类、函数及其他...........................................................................135 第38 条:遵循按值传递的原则来设计函数子类。.....................................135 第39 条:确保判别式是“纯函数”。.................................................................138 第40 条:若一个类是函数子,则应使它可配接。...............................................141 第41 条:理解ptr_fun、mem_fun 和mem_fun_ref 的来由。................................. 145 第42 条:确保less与operator<具有相同的语义。........................................148 7在程序中使用STL..............................................................................................152 第43 条:算法调用优先于手写的循环。.................................................................152 第44 条:容器的成员函数优先于同名的算法。........................................................159 第45 条:正确区分count、find、binary_search、lower_bound、upper_bound 和 equal_range。....... ......................161 第46 条:考虑使用函数对象而不是函数作为STL 算法的参数。.................................. 168 第47 条:避免产生“直写型”(write-only)的代码。................................................ 172 第48 条:总是包含(#include)正确的头文件。................................................. 175 第49 条:学会分析与STL 相关的编译器诊断信息。..................................... 176 第50 条:熟悉与STL 相关的Web 站点。...........................................................183 参考书目........................................................................................189 附录A 地域性与忽略大小写的字符串比较.................................................193 附录B 对Microsoft 的STL 平台的说明..........................................202

2013-08-30

Exceptional C++

本书详细地讨论了如何编写健壮高效的代码以及模块设计技术。本书采用了自问自答的语言风格,它讨论了实际程序设计中普遍存在的,又非常不易察觉的问题,并且进行了深刻的分析,提出了具有广泛意义的解决方案。本书值得每个想成为优秀c++程序员的人阅读。我相信,任何c++程序员都会在本书的阅读过程中有许多收获,甚至有一种醍醐灌顶,恍然大悟的收获和喜悦。 序 前 言 第1章 泛型程序设计与C++标准库 第1条 迭代器(难度:7) 第2条 不区分大小写的字符串——之一(难度:7) 第3条 不区分大小写的字符串——之二(难度:5) 第4条 最大可重用的泛型容器——之一(难度:8) 第5条 最大可重用的泛型容器——之二(难度:6) 第6条 临时对象(难度:5) 第7条 使用标准库(或称再谈临时对象)(难度:5) 第2章 异常安全性问题与技术 第8条 编写异常安全的代码——之一(难度:7) 第9条 编写异常安全的代码——之二(难度:8) 第10条 编写异常安全的代码——之三(难度:9.5) 第11条 编写异常安全的代码——之四(难度:8)

2013-08-30

泛型编程与STL

泛型编程与STL 本书阐述了泛型编程的中心思想:concepts、modeling、refinement,并为你展示这些思想如何导出STL的基础概念:iterators、containers、functionObjects。循此路线,你可以把STL想像为一个由concepts(而非明确之functions或classes)组成的程序库。你将学习其正式结构并因此获得其潜在威力所带采的完整优势。 内容简介 许多程序员可能并不知道,C++不仅是一个面向对象程序语言,它还适用于泛型编程(genericprogramming)。这项技术可以大大增强你的能力,协助你写出高效率并可重复运用的软件

2013-08-30

C++标准库介绍.pdf

标准c库大全:C++标准库介绍 疯狂代码 http://CrazyCoder.cn/ ĵ:http:/CrazyCoder.cn/VC/Article12860.html   标准库中提供了C基本设施虽然C标准库随着C标准折腾了许多年直到标准出台才正式定型但是在标准库实 现上却很令人欣慰得看到多种实现并且已被实战证明为有工业级别强度佳作 1、Dinkumware C Library 参考站点:http://www.dinkumware.com/ P.J. Plauger编写高品质标准库P.J. Plauger博士是Dr. Dobb\'s设计杰出奖获得者其编写库长期被Microsoft采 用并且最近Borland也取得了其OEMlicense在其C/C产品中采用Dinkumware库 2、RogueWave Standard C Library 参考站点:http://www.roguewave.com/ 这个库在Borland C Builder早期版本中曾经被采用后来被其他库给替换了笔者不推荐使用 3、SGI STL 参考站点:http://www.roguewave.com/ SGI公司C标准模版库 4、STLport 参考站点:http://www.stlport.org/ SGI STL库跨平台可移植版本 C各大有名库介绍——准标准库Boost   Boost库是个经过千锤百炼、可移植、提供源代码C库作为标准库后备是C标准化进程发动机的 Boost库由 C标准委员会库工作组成员发起在C社区中影响甚大其成员已近2000人 Boost库为我们带来了最新、最酷、最 实用技术是不折不扣“准”标准库 Boost中比较有名气有这么几个库: Regex 正则表达式库 Spirit LL parser framework用C代码直接表达EBNF Graph 图组件和算法 Lambda 在地方定义短小匿名对象很实用functional功能 concept check 检查泛型编程中concept Mpl 用模板实现元编程框架 Thread 可移植C多线程库 Python 把C类和映射到Python的中 Pool 内存池管理 smart_ptr 5个智能指针学习智能指针必读份不错参考是来自CUJ文章: Smart Poers in Boost,哦这篇文章可以查到CUJ是提供在线浏览中文版见笔者在Dr.Dobb\'s Journal软件 Software研发杂志第7辑上译文   Boost总体来说是实用价值很高质量很高库并且由于其对跨平台强调对标准C强调是编写平台无关现代C开 发者必备工具但是Boost中也有很多是实验性质东西在实际开发中实用需要谨慎并且很多Boost中库功能堪称对 语言功能扩展其构造用尽精巧手法不要贸然花费时间研读Boost另外面比如Graph这样库则是具有工业强度结构 良好非常值得研读精品代码并且也可以放心在产品代码中多多利用 参考站点:http://www.boost.org C各大有名库介绍——GUI   在众多C库中GUI部分库算是比较繁荣也比较引人注目在实际开发中GUI库选择也是非常重要件事情下面我 们综述下可选择GUI库各自特点以及相关工具支持 1、MFC   大名鼎鼎微软基础类库(Microsoft Foundation Class)大凡学过VC人都应该知道这个库虽然从技术角度讲 MFC是不大漂亮但是它构建于Windows API 的上能够使员工作更容易,编程效率高减少了大量在建立 Windows 时必须编写代码同时它还提供了所有般 C 编程优点例如继承和封装MFC 编写在各个版本 Windows操作系统上是可移植例如在Windows 3.1下编写代码可以很容易地移植到 Windows NT 或 Windows 95 上但是在最近发展以及官方支持上日渐势微[Page] 2、QT 参考网站WebSite:http://www.trolltech.com   Qt是Trolltech公司个多平台C图形用户界面应用框架它提供给应用开发者建立艺术级图形用户界面所需所 用功能Qt是完全面向对象很容易扩展并且允许真正地组件编程自从1996年早些时候Qt进入商业领域它已经成 为全世界范围内数千种成功应用基础Qt也是流行Linux桌面环境KDE 基础同时它还支持Windows、Macosh、 Unix/X11等多种平台 3、WxWindows 参考网站WebSite:http://www.wxwindows.org   跨平台GUI库其类层次极像MFC所以有文章介绍从MFC到WxWindows代码移植以实现跨平台功能通过多 年开发也是个日趋完善GUI库支持同样不弱于前面两个库并且是完全开放源代码新近C Builder XGUI设计器就 是基于这个库 4、Fox 参考网站WebSite:http://www.fox-toolkit.org/   开放源代码GUI库作者从自己亲身开发经验中得出了个理想GUI库应该是什么样子感受出发从而开始了对 这个库开发有兴趣可以尝试下 5、WTL   基于ATL个库使用了大量ATL轻量级手法模板等技术在代码尺寸以及速度优化方面做得非常到位主要面向 使用群体是开发COM轻量级供网络下载可视化Control控件开发者 6、GTK 参考网站WebSite:http://gtkmm.sourceforge.net/   GTK是个大名鼎鼎C开源GUI库在Linux世界中有Gnome这样杀手应用而Qt就是这个库C封装版本 C各大有名库介绍——网络通信 1、ACE 参考网站WebSite:http://www.cs.wustl.edu/~schmidt/ACE.html   C库代表超重量级网络通信开发框架ACE自适配通信环境(Adaptive Communication Environment)是可 以自由使用、开放源代码面向对象框架在其中实现了许多用于并发通信软件Software核心模式ACE提供了组丰 富可复用C包装外观(Wrapper Facade)和框架组件可跨越多种平台完成通用通信软件Software任务其中包括:事 件多路分离和事件处理器分派、信号处理、服务化、进程间通信、共享内存管理、消息路由、分布式服务动态 (重)配置、并发执行和同步等等 2、StreamModule 参考网站WebSite:http://www.omnarious.org/StrMod   设计用于简化编写分布式库尝试着使得编写处理异步行为更容易而不是用同步外壳包起异步本质 3、SimpleSocket 参考网站WebSite:http://home.hetnet.nl/~lcbokkers/simsock.htm   这个类库让编写基于客户/服务器更加容易 4、A Stream Socket API for C 参考网站WebSite:http://www.pcs.cnu.edu/~dgame/s/sC/s.html   又个对Socket封装库 C各大有名库介绍——XML 1、Xerces 参考网站WebSite:http://xml.apache.org/xerces-c/   Xerces-C 是个非常健壮XML解析器它提供了验证以及SAX和DOM APIXML验证在文档类型定义 (Document Type DefinitionDTD)方面有很好支持并且在2001年12月增加了支持W3C XMLSchema 基本完整 开放标准 2、XMLBooster[Page] 参考网站WebSite:http://www.xmlbooster.com/   这个库通过产生特制parser办法极大提高了XML解析速度并且能够产生相应GUI来修改这个parser在 DOM和SAX两大主流XML解析办法的外提供了另外个可行解决方案 3、Pull Parser 参考网站WebSite:http://www.extreme.indiana.edu/xgws/xsoap/xpp   这个库采用pull思路方法parser在每个SAXparser底层都有个pullparser这个xpp把这层暴露出来直接给大 家使用在要充分考虑速度时候值得尝试 4、Xalan 参考网站WebSite:http://xml.apache.org/xalan-c/   Xalan是个用于把XML文档转换为HTML纯文本或者其他XML类型文档XSLT处理器 5、CMarkup 参考网站WebSite:http://www.firstobject.com/xml.htm   这是种使用EDOMXML解析器在很多思路上面非常灵活实用值得大家在DOM和SAX的外寻求点灵感 6、libxml http://libxmlplusplus.sourceforge.net/   libxml是对著名libxml XML解析器C封装版本 C各大有名库介绍——科学计算 1、Blitz 参考网站WebSite:http://www.oonumerics.org/blitz   Blitz 是个高效率数值计算库它设计目是希望建立套既具像C 样方便同时又比Fortran速度更快数值计算环 境通常用C所写出数值比 Fortran慢20%左右因此Blitz正是要改掉这个缺点思路方法是利用Ctemplate技术执行 甚至可以比Fortran更快   Blitz目前仍在发展中对于常见SVDFFTsQMRES等常见线性代数思路方法并不提供不过使用者可以很容易 地利用Blitz所提供来构建 2、POOMA 参考网站WebSite:http://www.codesourcery.com/pooma/pooma   POOMA是个免费高性能C库用于处理并行式科学计算POOMA面向对象设计方便了快速开发对并行机器 进行了优化以达到最高效率方便在工业和研究环境中使用 3、MTL 参考网站WebSite:http://www.osl.iu.edu/research/mtl   Matrix Template Library(MTL)是个高性能泛型组件库提供了各种格式矩阵大量线性代数方面功能在某些 应用使用高性能编译器情况下比如Intel编译器从产生汇编代码可以看出其和手写几乎没有两样效能 4、CGAL 参考网站WebSite:www.cgal.org   Computational Geometry Algorithms Library目是把在计算几何方面大部分重要解决方案和思路方法以 C库形式提供给工业和学术界用户 2009-2-12 3:54:40 疯狂代码 http://CrazyCoder.cn/

2013-08-30

C++解析协议简单示例

C++解析协议简单示例 解析highway map data 协议数据简单示例

2013-02-27

《C++ In Action》

C++的作用,个人感觉也算一本基本类型的C++书籍。

2013-02-25

C++编程思想

本书的内容、讲授方法,选用例子和跟随的练习,别具特色,很有意思。

2013-02-25

C++程序设计.pdf

谭浩强的c++,清华大学出版社出版 中国高等院校计算机基础教育课程体系规划教材 上学时用的教材!

2013-02-25

设计模式 创建型模式 Prototype模式(原型)

Prototype模式 即原型模式,提供一个已经存在的对象进行新对象创建的接口,一般情况下都是使用Clone接口。 此模式非常简单,简单的说就是复制多个当前对象供使用。Prototype模式允许一个对象再创建另外一个可定制的对象,根本无需知道任何如何创建的细节,工作原理是:通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝它们自己来实施创建。 原型模式中的拷贝分为“浅拷贝”和“深拷贝”: 浅拷贝:对值类型的成员变量进行值的复制,对引用类型的成员变量只复制引用,不复制引用的对象。 深拷贝:对值类型的成员变量进行值的复制,对引用类型的成员变量也进行引用对象的复制。 这个模式一看就知道怎么回事了,网上有些博客和一些书上都用《西游记》中孙悟空的示例。确实,当我们的孙哥想要小弟时,猴毛一拔,成千上万的小弟就出来了。当然还有很多实际我们开发中的情况。例如:游戏开发时,有时经常要创建分身,二个、三个、或者十几个分身。由于分身需要拥有当前本体的一些数据。因此,此时使用用Prototype模式再合适不过了。 详细见博客 http://blog.csdn.net/xiaoting451292510/article/details/8478818

2013-01-29

设计模式 创建型模式 Builder模式(建造者)

Builder模式 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示 统设计中,有时候面临着一个“复杂系统”的创建工作,该对象通常由各个部分的子对象用一定的算法构成,或者说按一定的步骤组合而成;这些的算法和步骤是稳定的,而构成这个对象的子对象却经常由于需求改变而发生变化,此时我们可以选择使用Builder模式。尽管Builder模式相当容易让人误解,但我认为这几点应该是不会有错的。因此我个人认为Builder模式中要好好把握如下几点 1. 需要创建的对象是复杂对象 2. 对象的创建过程是一步步创建(即:可能由于过程的不同而导致有不同的对象展示) 3. 明确建造者(Builder)、具体建造者(Concrete Builder)、指导者(Director)、产品(Product)之间的职责和联系。 ◆建造者(Builder): 给出一个抽象接口,以规范产品对象的各个组成成分的建造。一般而言,此接口独立于应用程序的商业逻辑。模式中直接创建产品对象的是 具体建造者(ConcreteBuilder):具体建造者类必须实现这个接口所要求的方法:一个是建造方法,另一个是结果返还方法。 ◆具体建造者(Concrete Builder): 担任这个角色的是于应用程序紧密相关的类,它们在应用程序调用下创建产品实例。这个角色主要完成的任务包括: ■实现Builder角色提供的接口,一步一步完成创建产品实例的过程。 ■在建造过程完成后,提供产品的实例。 ◆指导者(Director): 担任这个角色的类调用具体建造者角色以创建产品对象。导演者并没有产品类的具体知识,真正拥有产品类的具体知识的是具体建造者对象。 ◆产品(Product): 产品便是建造中的复杂对象。 详细见博客 http://blog.csdn.net/xiaoting451292510/article/details/8330462

2012-12-27

设计模式 创建型模式 Simple Factory模式(简单工厂)

Simple Factory模式: 定义创建对象的接口,并封装对象的创建。 一般情况下,我们为了提高内聚和松耦合,经常会使用多态来处理一些问题。抽象出一些类的公共接口作为抽象基类或者接口。这样的话,我们将会面临一个挑战。在每次使用子类的时候,我们不得不经常使用base* = New XXX (这也无可厚非,但当系统复杂后,我们可能将无法维护子类的创建),最终我们在程序的扩展和维护成本上的开销将变得越来越大,越来越难。 我们知道经常“某个对象”由于需求的变化,对象的具体实现面临着剧烈的变化。为了应对这种变化我们抽象出它比较稳定的接口,隔离出“这个易变对象”的变化,从而保持系统中“其它依赖该对象的对象”不随着需求的改变而改变,这就是我们经常谈的Factory模式了。 详细见博客 http://blog.csdn.net/xiaoting451292510/article/details/8289608

2012-12-19

设计模式 创建型模式 Abstract Factory模式(抽象工厂)

Abstract Factory模式 1 定义创建对象的接口,并封装对象的创建 2 将具体化类的工作延迟到了类中 3 创建创建一组相关对象或者说是一组相互依赖的对象 一般情况下,我们为了提高内聚和松耦合,经常会使用多态来处理一些问题。抽象出一些类的公共接口作为抽象基类或者接口。这 样的话,我们将会面临一个挑战。在每次使用子类的时候,我们不得不经常使用base* = New XXX (这也无可厚非,但当系统复杂 后,我们可能将无法维护子类的创建),最终我们在程序的扩展和维护成本上的开销将变得越来越大,越来越难。 我们知道经常“某个对象”由于需求的变化,对象的具体实现面临着剧烈的变化。为了应对这种变化我们抽象出它比较稳定的接口 ,隔离出“这个易变对象”的变化,从而保持系统中“其它依赖该对象的对象”不随着需求的改变而改变,这就是我们经常谈的 Factory模式了。 我们一直在使用电脑。电脑大致上是分鼠标、键盘、显示器和主机几个部分构成。每个部件以有很多厂商生产,如DELL、ASUS、HP 等等。利用Abstract Factory模式我们可以通过不同的工大生产出一整套的产品。如DELLFactory里,生产出来的鼠标、键盘、显示 器和主机产品都是DELL牌的(这样视乎就是DELL牌电脑了呢,哈哈!)。我不相信DELL的键盘,那就用HP的话,可以在HPFactory里 生产出HP的键盘和鼠标,然后自行组装。 详细见博客 http://blog.csdn.net/xiaoting451292510/article/details/8290814

2012-12-19

IP Scanner Pro 5.0.1337 for Mac 局域网IP扫描工具

IP Scanner Pro 5.0.1337 for Mac 局域网IP扫描工具

2022-12-22

ubuntu16.04_gcc5.5.0_0x.tar.gz

ubuntu16.04 gcc 5.5.0 编译器优化选项O0, O1, O2, O3, Os详细信息

2020-06-16

UML统一建模语言示例图.zip

UML统一建模语言示例图 Activity Class Communication Component Deployment Sequence Statemachine UseCase

2020-06-01

memwatch.tar.gz

#内存泄露# #memwatch# memwatch使用示例 MemWatch是一个开放源代码 C 语言内存错误检测工具。MemWatch支持 ANSI C,它提供结果日志纪录。

2020-05-08

LeakTracer_fix.tar.gz

#内存泄露# #leaktracer# leaktracer定制化 leaktracer各版本及测试示例 leaktracer arm-linux-gnueabihf

2020-04-30

leaktracer.tar.gz

#内存泄露# #leaktracer# leaktracer使用 leaktracer各版本及测试示例 leaktracer arm-linux-gnueabihf leaktracer x86_64-linux-gnu

2020-04-29

dmalloc.tar.gz

#内存泄露# #dmalloc# dmalloc dmalloc各版本及测试示例 dmalloc-5.5.2_ubuntu16.04-x86-64 dmalloc-5.5.2_arm-linux-gnueabihf

2020-04-29

gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_windows.zip

gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_windows windows用

2020-04-01

arm-linux-gnueabihf-valgrind-3.15.0.tar.gz

arm-linux-gnueabihf-valgrind-3.15.0 arm-linux-gnueabihf端使用

2020-03-31

arm-linux-gnueabihf-gdb-8.2.tar.gz

arm-linux-gnueabihf端使用arm-linux-gnueabihf-gdb arm-linux-gnueabihf-gdb-8.2

2020-03-30

arm-linux-gnueabihf-gdb-8.2_Ubuntu16.04.tar.gz

Ubuntu16.04系统下使用arm-linux-gnueabihf-gdb arm-linux-gnueabihf-gdb-8.2_Ubuntu16.04

2020-03-30

arm-linux-gnueabihf-gdb.tar.gz

arm-linux-gnueabihf-gdb工具包

2020-03-28

mtrace.tar.gz

mtrace 测试相关源码

2020-03-28

UML统一建模语言示例图.zip

统一建模语言(英语:Unified Modeling Language,缩写 UML)是非专利的第三代建模和规约语言。UML是一种开放的方法,用于说明、可视化、构建和编写一个正在开发的、面向对象的、软件密集系统的制品的开放方法。UML展现了一系列最佳工程实践,这些最佳实践在对大规模,复杂系统进行建模方面,特别是在软件架构层次已经被验证有效。 用例图

2019-07-25

UML统一建模语言示例图_用例图

统一建模语言(英语:Unified Modeling Language,缩写 UML)是非专利的第三代建模和规约语言。UML是一种开放的方法,用于说明、可视化、构建和编写一个正在开发的、面向对象的、软件密集系统的制品的开放方法。UML展现了一系列最佳工程实践,这些最佳实践在对大规模,复杂系统进行建模方面,特别是在软件架构层次已经被验证有效。

2019-07-25

openssl之BIO系列(01-25)

openssl之BIO系列之1---抽象的IO接口 1 openssl之BIO系列之2---BIO结构和BIO相关文件介绍 2 openssl之BIO系列之3---BIO的声明和释放等基本操作 5 openssl之BIO系列之4---BIO控制函数介绍 6 openssl之BIO系列之5---CallBack函数及其控制 9 openssl之BIO系列之6---BIO的IO操作函数 11 openssl之BIO系列之7---BIO链的操作 12 openssl之BIO系列之8---读写出错控制 13 openssl之BIO系列之9---BIO对的创建和应用 14 openssl之BIO系列之10---BIO链的定位操作 16 openssl之BIO系列之11---文件(file)类型BIO 18 openssl之BIO系列之12---文件描述符(fd)类型BIO 21 openssl之BIO系列之13---Socket类型BIO 22 openssl之BIO系列之14---源类型的NULL型BIO 23 openssl之BIO系列之15---内存(mem)类型BIO 24 openssl之BIO系列之16---BIO对(pair)类型BIO 26 openssl之BIO系列之17---连接(connect)类型BIO 29 openssl之BIO系列之18---接受(accept)类型BIO 32 openssl之BIO系列之19---Filter类型的NULL型BIO 36 openssl之BIO系列之20---缓冲(buffer)类型BIO 36 openssl之BIO系列之21---Base64类型的BIO 38 openssl之BIO系列之22---Cipher类型的BIO 39 openssl之BIO系列之23---MD类型的BIO 40 openssl之BIO系列之24---SSL类型的BIO 43 openssl之BIO系列之25---结束语 48

2015-07-02

梦想加密器源码 支持DES 3DES AES等加密算法ECB,CBC,CFB,OFB,CTR模式

梦想加密器源码 支持DES 3DES AES等加密算法ECB,CBC,CFB,OFB,CTR模式

2015-06-19

梦想加密器 支持DES 3DES AES等加密算法ECB,CBC,CFB,OFB,CTR模式

梦想加密器 支持DES 3DES AES等加密算法ECB,CBC,CFB,OFB,CTR模式

2015-06-19

数据结构源码(详细见博客)

数据结构源码(详细见博客)

2013-10-18

《C++算法程序设计》

大家好!现在我们将要开始一个穿越“数据结构、算法和程序”这个抽象世界的特殊旅程, 以解决现实生活中的许多难题。在程序开发过程中通常需要做到如下两点:一是高效地描述数 据;二是设计一个好的算法,该算法最终可用程序来实现。要想高效地描述数据,必须具备数 据结构领域的专门知识;而要想设计一个好的算法,则需要算法设计领域的专门知识。 在着手研究数据结构和算法设计方法之前,需要你能够熟练地运用C + +编程并分析程序, 这些基本的技能通常是从C + +课程以及其他分散的课程中学到的。本书的前两章旨在帮助你回 顾一下这些技能,其中的许多内容你可能已经很熟悉了。 本章我们将回顾C++ 的一些特性。因为不是针对C++ 新手,因此没有介绍诸如赋值语句、 if 语句和循环语句(如for 和w h i l e)等基本结构,而是主要介绍一些可能已经被你忽略的C + + 特性: • 参数传递方式(如传值、引用和常量引用)。 • 函数返回方式(如返值、引用和常量引用)。 • 模板函数。 • 递归函数。 • 常量函数。 • 内存分配和释放函数:n e w与d e l e t e。 • 异常处理结构:t r y, c a t c h和t h r o w。 • 类与模板类。 • 类的共享成员、保护成员和私有成员。 • 友元。 • 操作符重载。 本章中没有涉及的其他C + +特性将在后续章节中在需要的时候加以介绍。本章还给出了如 下应用程序的代码: • 一维和二维数组的动态分配与释放。 • 求解二次方程。 • 生成n 个元素的所有排列方式。 • 寻找n个元素中的最大值。 此外,本章还给出了如何测试和调试程序的一些技巧。

2013-09-03

空空如也

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

TA关注的人

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