`
文章列表
在java和C++中都采用了引用这个概念,但是二者的行为并不一样。java的引用其实更象c++中的指针,而非c++中的引用,的确c++的指针给ren们带来强大威力的同时,也给我ren们带来了危险,大多的攻击也都是利用指针让系统崩溃。在许多 ...
Prototype模式允许一个对象再创建另外一个可定制的对象,根本无需知道任何如何创建的细节,工作原理是:通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝它们自己来实施创建。 因为Java中的提供clone()方法来实现对象的克隆(具体了解clone()按这里),所以Prototype模式实现一下子变得很简单. 以勺子为例: Java代码 public abstract class AbstractSpoon implements Cloneable   {      String spoonName;        public void ...
设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。       毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。       GoF的“设计模式”是第一次将设计模式提升到理论高度,并将之规范化,本书提出了23种基本设计模式,自此,在可复用面向对象软件的发展过程中,新的大量的设计模式不断出现。 一、设计模式和框架       现在,可复用面向对象软件系统现在一般划分为三大类:应 ...
学C++的时候,这几个输入函数弄的有点迷糊;这里做个小结,为了自己复习,也希望对后来者能有所帮助,如果有差错的地方还请各位多多指教(本文所有程序均通过VC 6.0运行)转载请保留作者信息; 1、cin 1、cin.get() 2、cin.getline() 3、getline() 4、gets() 5、getchar() 1、cin>>           用法1:最基本,也是最常用的用法,输入一个数字: #include <iostream> using namespace std; main () { int a,b; cin>>a>> ...

新手表现

现在有些年轻人的心态比较浮躁,大致总结以下『四点表现』: 1. 眼高过顶; 2. 垂手过膝; 3. 期望值高; 4. 积极性低。 深层次的客观原因大致是『四个没有』: 1. 没有吃过苦; 2. 没有干过活; 3. 没有说过话; 4. 没有当过家。 一般都具有『四个特征』: 1. 独生子女; 2. 毕业新人; 3. 沉默寡言; 4. 半瓶开水。 --------------------------------- 1. 你想要什么? 参考:一个有影响力的人。(@李开复) 2. 那是否是你想要的? 参考:你的眼光有多远,决定了你能走多远。(@Fox) 3. 你需 ...

回调函数

    博客分类:
  • C++
当 函数指针 做为函数的参数,传递给一个被调用函数,被调用函数就可以通过这个指针调用外部的函数,这就形成了回调。 windows程序中 WndProc 就是使用回调的典型形式。 一般的程序中回调函数作用不是非常明显,可以不使用这种形式。 最主要的用途就是当函数不处在同一个文件当中,比如动态库,要调用其他程序中的函数就只有采用回调的形式。 #include "stdio.h" #include "conio.h" int add(int a, int b); int libfun(int (*pDis)(int a, int b)); int ...
大家可能一直在用VC开发软件,但是对于这个编译器却未必很了解。原因是多方面的。大多数情况下,我们只停留在“使用”它,而不会想去“了解”它。因为它只是一个工具,我们宁可把更多的精力放在C++语言和软件设计上。 ...

编译器

    博客分类:
  • C++
Dev-C++ 本软件就不用说了,这是pfan论坛上的首选IDE环境;他默认安装minGW作为编译器——就是windows化了的GCC编译器。版本应该是3.4; 由于其编辑器使用简单,而内核gcc3.4对c99和c++2003的支持度都比较高,所以,这个软件比较适合标准C/C++初学者!除了支持外部库,Dev-C++还支持自己的开发包,你可以从升级“包”这个功能上获得许多有用的东西; 你可以在http://www.bloodshed.net获得它的下载。 WxDev-C++ 不知道是英雄落幕还是怎么的?Dev-C++已经停止更新了!最新的版本应该是4.9.9.2——不更新,这个就计较郁闷 ...

头文件

    博客分类:
  • C++
一、声明与定义的区分: 一个声明就是一个定义,除非 : 声明:引入名称 定义:引入实体 1.它声明了一个没有详细说明函数体的函数 2.它包含一个extern定义符且没有初始化函数或函数体 3.它是一个包含在一个类定义之内的静 ...
一、源文件如何根据#include来关联头文件 1,系统自带的头文件用尖括号括起来,这样编译器会在系统文件目录下查找。 #include <xxx.h> 2,用户自定义的文件用双引号括起来,编译器首先会在用户目录下查找,然后在到C++安 ...
1.把C++当成一门新的语言学习(和C没啥关系!真的。);  2.看《Thinking In C++》,不要看《C++变成死相》;  3.看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因为他们很难而我们自己是初学者所以就不看; 4.不 ...
1、Java Java编程语言(第三版)---Java四大名著----James Gosling(Java之父) Java编程思想(第2版)----Java四大名著----Bruce Eckel Java编程思想(第3版)----Java四大名著----------------Bruce Eckel JAVA 2核心技术 卷I:基础知识(原书第7版)---Java四 ...
  我始终认为,对一个初学者来说,IT界的技术风潮是不可以追赶的,而且也没有能力去追赶。我时常看见自己的DDMM们把课本扔了,去卖些价格不菲的诸如C#,VB.Net这样的大部头,这让我感到非常痛心。而许多搞不清指针是咋回事 ...
一、C++之父一夕谈   在1998年的元旦,Bjarne Stroustrup(C++之父)接受了IEEE《计算机》杂志记者的专访。编辑很自然的认为他会对于过去七年来使用他创建的语言进行面对对象设计做一个历史性的回顾。而在这个专访中,记者获得 ...
C++语言是一个面向对象的语言,使用C++编写的代码更加简捷、高效,更具可维护性和可重用性。但是很多人使用了C++语言后却感到C++与C编程没有什么区别。这其实是由于对C++语言的特点和特色理解和使用不够造成的。事实上,没 ...
Global site tag (gtag.js) - Google Analytics