- 博客(46)
- 资源 (17)
- 收藏
- 关注
原创 effective C++ 条款 1:尽量用const和inline而不用#define
effective C++ 条款 1:尽量用const和inline而不用#define尽量用编译器而不用预处理#define ASPECT_RATIO 1.653 它会被预处理程序去掉,于是ASPECT_RATIO不会加入到符号列表中定义指针常量时会有点不同 要
2011-10-10 00:45:55
513
原创 阿里云面试
1.自我介绍2.项目中学到的,和贡献3.c++中引用参数的压栈,可变参数的压栈4.define和const的区别5.class中virtual函数的占用空间6.写函数返回矩阵中特定位置的值的连续个数
2011-09-23 21:56:46
1060
原创 递归实现全排列
//输入待排数组,cur=0,end为数组长度void perm(int a[], int cur, int end){ int i = cur; if (cur == end) { for (int j = 0; j
2011-09-20 10:42:47
319
原创 最大数字子串和
inline void getMaxSub(){ int a[] = {-3, 4, 9, 2, -10, -7, 11, 3, -8}; int b[] = {-1, 2, 6, -3, 5, -7, 14, -5, -15, 1, 8, -4, 9};
2011-09-04 11:32:30
381
原创 Factory Methods
package designPattern;//creatorclass MazeGame{ public Maze CreateMaze() { Maze aMaze = MakeMaze();
2011-08-31 16:25:26
373
原创 Builder
package designPattern;//builder base class//为创建product的各个部件指定抽象接口class MazeBuilder{ public void BuildMaze() {
2011-08-31 16:23:19
339
原创 Abstract factory
package designPattern;//Abstract factory//定义生产各个产品的接口class MazeFactory{ public Maze MakeMaze() { return new Maze(
2011-08-31 16:22:34
291
原创 虚拟基类的初始化
无论虚拟基类出现在继承层次中的哪个位置上,它们都是在非虚拟基类之前被构造虚拟基类的初始化成了最末层继承类的责namespace Ex18_15{ class Base { public: Base(){cout
2011-08-29 11:56:45
336
原创 多继承下成员访问
编译器先解析出他对某个名称该使用哪个实例, 然后再检查实例的访问权限是否合法#include class Base1 { public: // ... protected: int ival; double dval;
2011-08-25 09:52:30
365
转载 eclipse 快捷键
Ctrl+1 快速修复(最经典的快捷键,就不用多说了) Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加) Ctrl+Alt+↑ 复制当前行到上一行(复制增加) Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,
2011-08-23 21:18:18
205
转载 C++中析构函数为什么要是虚函数
////////////////////////////////////////////////////////Example 1 ////////////////////////////////////////////////////// #includ
2011-08-17 22:50:12
394
原创 c++类中成员的构造顺序
先调用父类的构造函数,然后是各成员的初始化, 各成员的默认构造函数,然后是自己的构造函数。class a{public: a() { cout }};class combinebase{public
2011-08-11 11:36:44
449
转载 C++中构造函数调用构造函数
最近在整理C++知识的时候,突然想到如何在C++中实现构造函数调用构造函数的问题,常见的错误是按照如下方式来调用: 1: #include 2: 3: class Test 4: { 5: public: 6: int m_a;
2011-08-10 23:24:07
545
原创 类模板中的友元声明
有三种友元声明可以出现在类模板中:1 非模板友元类或友元函数函数 foo() 成员函数bar()以及 foobar类都是类模板QueueItem的所有实例的友元class Foo { void bar(); }; template cla
2011-08-04 22:32:36
369
原创 类模板中非类型参数的模板实参
1,绑定给非类型参数的表达式必须是一个常量表达式,即,它必须能在编译时被计算出结果。2,非 const 对象的值不是一个常量表达式,它不能被用作非类型模板参数的实参3,名字空间域中任何对象的地址,即使该对象不是const 类型,是一个常量表达式,而局部对象的地址则不是。
2011-08-04 21:56:19
833
原创 java的移位运算
>>>"逻辑右移,左边添加0注意 char,byte和short在逻辑右移时会先转换成int,然后在int的基础上逻辑右移。long型的移位long型移位很诡异,不知道怎么回事, long l = -21474837000L
2011-08-04 09:49:10
327
原创 操作符重载
操作符->class ScreenPtr { // ... private: Screen *ptr; };// 支持指针行为的重载操作符 class ScreenPtr { public: Screen& operator*(
2011-08-03 22:47:40
356
原创 成员初始化表
使用初始化表和在构造函数内使用数据成员的赋值之间有什么区别:inline Account:: Account( const char *name, double opening_bal ) : _name( name ), _balance( opening_bal
2011-08-02 22:47:06
399
原创 explicit 构造函数的意义
在类的构造函数中, 凡是只带有一个参数的构造函数, 都定义了一组隐式转换, 把构造函数的参数类型转换成该类的类型;如:Smallint(int)把int型的值转化成Smallint值;extern void cacl(Smallint);int i;//需
2011-08-02 20:10:38
483
转载 虚拟机下安装ubuntu后root密码设置
问题描述: 在虚拟机下安装了ubuntu中要输入用户名,一般情况下大家都会输入一个自己的网名或绰号之类的,密码也在这时设置过了。但是当安装成功之后,使用命令#su root,然后输入刚才设置的密码,发现密码错误,至始至终我就设置过一次密码,怎么会错误,原来,在ubuntu
2011-07-31 22:21:40
917
转载 转:expect的基本用法
一、概述我们通过Shell可以实现简单的控制流功能,如:循环、判断等。但是对于需要交互的场合则必须通过人工来干预,有时候我们可能会需要实现和交互程序如telnet服务器等进行交互的功能。而Expect就使用来实现这种功能的工具。Expect是一个免费的编程工具语言
2011-07-31 21:49:02
820
原创 程序段的Class Scope
如果class member的定义在class body之外, 那么从该定义的member名称开始出现到定义结束为止,都属于class scope,但是前边的返回类型不属于class scope。如:typedef int Type;Type initVal();
2011-07-31 17:37:19
570
原创 键盘输入EOF,在istream_iterator中, 不输入EOF死循环
windows中是ctrl+z但是我在vc6下不好使, 有时候要要好几下,有时候ctrl+z后要回车,可以用ctrl+a,也可以用ctrl+d;linux下是ctrl+d istream_iterator iput(cin), eos;
2011-07-30 19:16:33
608
原创 需要指定模板函数参数的两种必要情况
1.当参数推演失败, 产生ambiguous,可以明白指定参数min5(dobj, fobj);2.当编译器无法推演出返回类型时template T1 sum(T2, T3);指定参数时, 只有尾部的参数可以不写如:sum(fobj, dobj);//返回
2011-07-30 15:48:58
447
原创 函数对象
函数对象的实现简单形式包括一个被重载的函数调用操作符, 如下:还可以加入模板, 或者加入构造函数, 添加私有成员等class Lessthan{public:bool operator()(int a, int b){return a
2011-07-30 12:49:24
248
原创 忘记using namespace std;
在写程序时 经常莫名其妙的出现一些 未定义错误,如下面, 是因为用了c++的名字空间std中的类型;忘了加上using namespace std;语句error C2143: syntax error : missing '; ' befor
2011-07-30 11:22:00
347
原创 linux目录配置 FHS
FHS(Filesystem Hierarchy Standard)针对目录树架构定义出三层目录:/(根目录):与开机系统有关/usr (unix software resource):与软件安装、执行有关/var (variable):与系统运作过程有关根目录(/)的意义与内容
2011-07-26 22:22:09
418
转载 程序员技术练级攻略
我的这个朋友把这篇文章取名叫Build Your Programming Technical Skills,我实在不知道用中文怎么翻译,但我在写的过程中,我觉得这很像一个打网游做任务升级的一个过程,所以取名叫“技术练级攻略”,题目有点大,呵呵,这个标题纯粹是为了好玩。这里仅仅是在
2011-07-26 21:05:11
289
原创 运算符优先级
醋坛酸味灌,味落跳福逗醋, 初等:4个,(), [], ->, .;坛, 单目, 9个, !, ~, ++, --, -(负号), +, *, &, sizeof酸, 算术, 5个, *, /, %, +, -味, 位移, 2个, >灌, 关系, 6个, , =, ==, !=味
2011-07-24 16:42:38
392
转载 stdafx.h
简介 名称的英文全称为:Standard Application Framework Extensions 所谓头文件预编译,就是把一个工程(Project)中使用的一些MFC标准头文件(如Windows.H、Afxwin.H)预先编译,以后该工程编译时,不再编译这部分头文件
2011-07-24 11:52:05
636
转载 VC++ warning C4786 详解
在使用std::list的过程中, 编译器报warning 如下:warning C4786: 'std::reverse_bidirectional_iterator,std::allocator >,std::allocator,std::allocator > > >::i
2011-07-24 11:18:04
658
原创 带缺省参数的重复声明
char *screenInit(int height, int width, char background = ' ');char *screenInit(int height = 4, int width = 4, char background);正确;char *scr
2011-07-23 22:23:55
307
原创 二维数组
int a[][];错误,多维数组的规则是 只有最后一维的大小能省略, 可以定义为int a[][5];int (*pa)[];不好,应该int (*pa)[size];声明可以, 但是赋值的时候就会有错误,例如:int a[] = {1, 2, 3};pa = &a;//can
2011-07-23 21:38:25
256
原创 引用相关
const 引用:1. int i = 20; const int& refer = i; i = 12;可以, refer的值会变, 但是不能给refer赋值2 int i = 20; int* &rval = &i;错误, a refrence
2011-07-23 11:54:43
284
原创 指向数组的指针,指向函数的指针
指向数组的指针:int(*p)[5];定义了一个指向数组元素为int型的元素个数为5的一维数组;也可以理解为二维数组的首元素就像int*p指向int型可以理解为一维数组的首元素;也可以理解为*p为一个指针,指针里面的内容是一个有5个int值的数组;*p=a[5];
2011-07-23 11:23:09
409
转载 const 和 非const函数重载
const a a1;a a2;a1.x();a2.x();a1调用const版本,a2调用非const版本。后面加const表示在该函数中不能对类的数据成员进行改变,比如:class A{private: int aa;public: int x()
2011-07-16 20:05:44
694
转载 为使用mysql而配置codeblocks工程
心结: 为了在codeblocks下创建的C++工程中使用mysql,辛辛苦苦忙活了半个下午,终于长舒一口气,搞定了,编译成功。 其中不乏数次的成功于失败的反复。个中滋味,只有让我有擂头顿足的冲动。 不过,还算上天公平,问题终究还是解决了。 趁着刻骨铭心的痛苦还没有消失殆尽,赶快把过程记录于此。权慰
2011-06-16 17:14:00
486
转载 MySQL - InnoDB vs MyISAM
2008.06.14 Most people who use MySQL know that MyISAM and InnoDB are the two most-common database engines available with the popular open-source database provider. I would bet that most o
2011-06-15 10:25:00
346
原创 makefile文件编写
1.make命令调用格式: make [-f makefile文件名][选项][宏定义][目标] 2.常用选项有: -Idirname 指定被包含的makefile所在目录 -w 如果make在执行时改变目录,打印当前目录名 -d 打印调试信息 -k 用该选项,即使make程序遇到错误也会继续向下运行 3.makefile文件主要包含了6部分内容 1、显式规则:用于描述系统中模块之间的相互依赖关系,以及产生目标文件所要执行的命令(规则)。 编写规则通用形式: target : depen
2011-05-26 18:23:00
485
Python入门
2011-09-12
Python基础教程(第2版)
2011-09-12
Effective.STL(中文版)
2011-08-25
Code Complete
2011-08-25
Effective and More Effective C++
2011-08-25
programingperls
2011-08-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人