C/C++
文章平均质量分 78
jinvmen
这个作者很懒,什么都没留下…
展开
-
软件工程师必读书籍
软件工程师必读技术书籍推荐书籍推荐——按角色划分一、软件工程师 --Clean Code《代码整洁之道》 --Implementation Patterns《实现模式》 --Code Complete《代码大全》 --Refactoring: Improving the Design of Existing Code《重构——改善既有代码的设计》 --E转载 2015-08-23 15:21:18 · 1462 阅读 · 1 评论 -
基类和派生类之间的同名函数处理方式
下面有关派生类与基类中存在同名函数fn:Code:class A { public: void fn() {} void fn(int a) {} }; class B : public A { public: void fn()转载 2015-09-09 09:51:54 · 12664 阅读 · 2 评论 -
为什么基类指针和引用可以指向派生类对象,但是反过来不行?
为什么基类指针和引用可以指向派生类对象,但是反过来不行?基类指针和引用BaseClass *pbase = NULL;DerivedClass dclass;pbase = & dclass;基类指针和引用可以指向派生类对象,但是无法使用不存在于基类只存在于派生类的元素。(所以我们需要虚函数和纯虚函数)原因是这样的:在内存中,一个基类类型的指针是覆盖转载 2015-09-09 10:03:46 · 952 阅读 · 0 评论 -
虚基类与虚继承
虚继承就是虚基类的使用;引入虚基类的目的是为了解决类继承过程中产生的二义性问题;这种二义性问题常见于具有菱形继承关系的类中;比如:有四个类:A、B、C、D;它们之间的继承关系是:B继承A,C继承A,D继承B和C;这就形成了一个菱形的继承关系;具有这种继承关系的图叫做有向无环图;那么类D就有两条继承路径:D-->B-->A和D-->C-->A;而类A是派生类D的两条继承路径上的公共基类,转载 2015-09-04 13:25:11 · 590 阅读 · 0 评论 -
派生类对象初始化构造过程顺序
[cpp] view plaincopy#include using namespace std; class A { private: int a; public: A(int x):a(x) { cout " "; } }; class B: A {转载 2015-09-09 11:05:56 · 841 阅读 · 0 评论 -
C++构造函数的继承问题
一、基类没有定义构造函数的情况1、派生类也可以不定义构造函数,全部采用默认的构造函数,此时,派生类新增成员的初始化工作可以用其他公有函数来完成。2、如果只有派生类定义构造函数,只需要构造派生类对象即可,对象的基类部分使用默认构造函数来自动创建二、基类中存在构造函数1、基类中存在不带参数的构造函数。如果基类定义了构造函数,而且该构造函数没有参数,那么它可以隐式的被继承转载 2015-09-09 16:47:24 · 656 阅读 · 0 评论 -
string函数
之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必 担心内存是否足够、字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的需要。我们可以用 = 进行赋值操作,== 进行比较,+ 做串联(是不是很简单?)。我们尽可以把它看成是C++的基本数据类型。 首先,为了在我们的程序中使用string类型转载 2015-09-08 15:53:57 · 417 阅读 · 0 评论 -
史上最全设计模式导学目录
转自: http://blog.csdn.net/lovelion分类: 软件架构 设计模式 软件工程软件工程设计模式博客软件开发 基础知识 设计模式概述从招式与内功谈起——设计模式概述(一):设计模式从何而来?从招式与内功谈起——设计模式概述(二):设计模式是什么?从招式与内功谈起——设计模式概述(三)转载 2015-09-16 16:39:40 · 492 阅读 · 0 评论 -
匈牙利命名规则
几年以前,Charles Simonyi(他后来成为微软的著名程序员)设计了一种以前缀为基础的命名方法,这种方法后来称为"匈牙利表示法"以记念他.他的思想是根据每个标识符所代表的含义给它一个前缀.微软后来采用了这个思想,给每个标识符一个前缀以说明它的数据类型.因此,整型变量的前缀是n,长整型变量是nl,字符型数组变量是ca,以及字符串(以空类型结尾的字符数组)以sz为前缀.这些名字可能会非常古怪.转载 2015-11-26 09:42:23 · 660 阅读 · 0 评论 -
VC++6.0插件系列(绝对经典)
Visual C++ 插件系列介绍说到Visual C++的插件,大家可能只有想到Visual Assist吧。天真!行内开发的插件可只有这个!?下面介绍一下vc6.0的其他插件。Visual Assist(强烈推荐)网址:http://www.wholetomato.com/功能:VA从5.0一直到现在的VAX,功能越来越强大,除了以前版本中的自动识别各种关键字,系统函数转载 2016-01-18 15:05:50 · 1264 阅读 · 0 评论 -
C/C++内存问题检查利器
Purify,这是我觉得最专业,也是最强大的内存检测工具。Purify 所支持的操作系统有Windows 2000/XP Professional/NT、Sun Solaris、HP-UX、SGI-IRIX。我不知道其支不支持Linux,但在其网站上,我并没有看到这样的信息,但又听别人说他支持,所以在这里我不敢断言它不支持,想想要做UNIX下的软件能有不支持Linux的吗?可能很少吧。转载 2016-02-20 16:41:57 · 580 阅读 · 0 评论 -
软件架构RUP 4+1 视图模型
RUP 4+1架构软件需求分析的复杂性RUP 4+1架构RUP4+1架构方法采用用例驱动,在软件生命周期的各个阶段对软件进行建模,从不同视角对系统进行解读,从而形成统一软件过程架构描述。用例视图(Use Cases View),最初称为场景视图,关注最终用户需求,为整个技术架构的上线文环境.通常用U转载 2016-03-01 09:15:15 · 977 阅读 · 0 评论 -
C++类中成员变量的初始化
C++类中成员变量的初始化有两种方式: 构造函数初始化列表和构造函数体内赋值。下面看看两种方式有何不同。 成员变量初始化的顺序是按照在那种定义的顺序。1 内部数据类型(char,int……指针等)class Animal{public: Animal(int weight,int height): //A初始化列转载 2015-08-29 17:05:43 · 1118 阅读 · 0 评论 -
杜绝返回函数内局部变量的指针或引用
杜绝返回函数内局部变量的指针或者引用原创 2015-08-30 17:05:53 · 573 阅读 · 0 评论 -
C++入门和提高书籍
一、C++入门普及篇:1.《C++程序设计教程》(钱能-清华版)讲解较为清析、简单,符合中国学生思路,价格便宜。但深度和广度欠佳,适合初学者。2.《C++程序设计语言》C++之父所作,被称之为“C++圣经”。不仅对语言,而且对语言周边的一些如发展史、语义哲学都有比较详细的描述。对语言的描述较为全面,同时包含一部分和程序库相关联的知识,并有一定深度,适合有一定语言基础的初学者转载 2015-08-23 15:45:16 · 693 阅读 · 1 评论 -
设计模式经典书籍
首 先模式是不分语言的,Beck在他的TDD一书中用python实现了Composite模式,充分证明了这一点。不过我认为目前模式方面的好书基本都是 基于java语言的,所以不管你是用C#还是CPP,都请学会阅读java代码,毕竟现在OO和模式还是有java社群引领的。我将按照初级,中级,高级三类来划分推荐的书。并且按照格式——名称,语言,内容&评论,推荐指数来写:)。初级:我认为转载 2015-08-23 16:13:09 · 620 阅读 · 0 评论 -
计算机经典书籍
一、为何要学编程? 每个人的动机不一样。大致有: 1、为了找个好工作;或为了有更好的机会和更好的发展。 2、看到别人超厉害,所以也想学。 3、实际工作中很多场合需要。 4、从小就立志做个程序员,做软件工程师。 5、振兴中国的软件事业。 ………………………………………………………………………=======================转载 2015-08-23 16:34:11 · 833 阅读 · 0 评论 -
利用DOS命令编译源文件
命令行编译程序代码,因为编译效率高、不用去研究开发工具,可以使初学者集中精力在代码理解上,因此(命令行+文本编辑器【推荐EditPlus】)非常适合编程学习。但往往由于命令行没有像Visual Studio那么友好的UI界面,加上需要记忆一堆参数,因而让很多没有人指导的新手望而生畏。其实,如果有人稍微指点一下,大家会发现,命令行编译其实非常之简单。如果你是新手,想要学习这方面的东西,那么就看完下面转载 2015-08-25 10:31:40 · 2986 阅读 · 0 评论 -
编译、链接、加载
C 编译、链接、加载2013-02-25 15:52 2177人阅读 评论(1) 收藏 举报目录(?)[+]### http://www.cnblogs.com/oubo/archive/2011/12/06/2394631.html ###一、概述C语言的编译链接过程要把我们编写的一个c程序(源代码)转换成可以在硬件转载 2015-08-27 17:11:02 · 541 阅读 · 0 评论 -
排序算法
快速排序介绍:快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(n log n) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来,且在大部分真实世界的数据,可以决定设计的选择,减少所需时间的二转载 2015-07-23 09:23:05 · 444 阅读 · 0 评论 -
C语言中 float double在内存中的存储
2013-11-06 11:35 1692人阅读 评论(0) 收藏 举报本文转载于:http://wenku.baidu.com/link?url=ARfMiXVHCwCZJcqfA1gfeVkMOj9RkLlR9fIexbgs9gDdV8rIS48A1_xe1y6YgXnSlpof5pKKJbjScy1StbVdiUWARuAYUIYiyHeTIIhVaz3 C语言中,对于浮转载 2015-07-22 15:19:02 · 362 阅读 · 0 评论 -
free 和 delete 把指针怎么了
free 和 delete 把指针怎么了使用free或delete之后,只是把指针所指的内容给释放掉,但是指针并没有被干掉,还是指向原来位置(并不是执行NULL),此时指针指向的内容为垃圾,被称为“野指针”。举例说明几个重要容易迷糊的特征:1. 指针消亡了,并不表示他所指向的内存会被自动释放。例:void func(coid){ char *p = (c转载 2015-08-30 11:38:06 · 536 阅读 · 0 评论 -
简单理解 快速排序算法
转自:http://blog.csdn.net/morewindows/article/details/6684558快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加上快速排序思想----分治法也确实实用,因此很多软件公司的笔试面试,包括像腾讯,微软等知名IT公司都喜欢考这个,还有大大小的程序方面的考试如软考,考研中也常常出现快速排序的身影。转载 2015-07-23 10:03:23 · 709 阅读 · 0 评论 -
The Elements of Programming Style 读书总结
(The Elements Of Programming Style, Second Endition, Kernigan and Plauger)这是一本关于编程风格经典的老书了,一些经典的CS著作里面都提过此书,而且都是强烈推荐阅读,当初就是因为些书评价非常高,所以才想读的,不过很可惜,由于此书出版年月太早,而且书中使用的语言为fortran语言,所以已经停止印刷了。网上有pdf版,可转载 2016-05-06 22:23:25 · 1188 阅读 · 0 评论