自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 九畹溪游记

上个周末去九畹溪漂流,去之前在网上查了些资料,发现写得都不是很全,其中有一个漂流注意事项的东东转得最多,那个当然是很正确的,不过还是太官方了,实际意义不大。 准备工作准备得比较匆忙,没有查到足够的资料,导致后面走了很多弯路。先是查了路线,确定宜昌——秭归——九畹溪,从地图上看秭归和九畹溪挺近的,后来才发现不是那么回事。因为有2天时间,所以还打算去三峡大坝看看。确定的线路是:1、星期

2009-08-12 22:07:00 4511

原创 译《Understanding Weak References》

Understanding Weak References以前我招聘过高级java工程师,其中一个面试题目是“你对weak reference了解多少?”。这个话题比较偏,不指望每个人都能清楚它的细节。如果面试的人说“Umm...好像和gc(垃圾回收)有点关系?”,那我就相当满意了。实际情况却是20多个5年java开发经验的工程师只有2个知道有weak reference这么回事,其中1个是真

2008-10-04 14:48:00 7547 4

原创 eclipse中设置tab size

在eclipse中设置tab size的地方有多个1:window——preference——General——Editor——Text Editor设置页面:Display Tab Width2:window——preference——Java——Code Style——Formatter设置页面,Edit,在弹出的Editor profile窗口中,Indentation卡片,设置In

2007-06-20 10:31:00 5939 3

原创 制作Windows操作系统万能Ghost盘后记

按照《Windows操作系统万能Ghost全攻略》中的步骤作了一个克隆盘,一切ok,制作过程中有几个地方记一下:1、最好先用c:/sysprep/setupmgr.exe制作自动应答文件sysprep.inf,再卸载驱动,再封装系统。因为要填写xp的安装序列号。要是先卸载驱动,那么不知道序列号就惨了。   我是直接把上面图片中的序列号填进去的,不过第三个输入框的第三个字母不太清楚,看起来象7,实际

2007-06-09 12:27:00 2440 1

原创 GHOST使用教程——转载自小路工作室http://www.wzlu.com/article/1/2007/200705065097.html

原帖地址:http://www.wzlu.com/article/1/2007/200705065097.html讲的非常详细,这里仅摘出重要的。1、Ghost支持将分区或硬盘直接备份到一个扩展名为.gho的文件里(赛门铁克把这种文件称为镜像文件),也支持直接备份到另一个分区或硬盘里。2、运行ghost:至今为止,ghost只支持Dos的运行环境,这不能说不是一种遗憾:(我们通常把ghos

2007-06-06 01:38:00 3949

原创 刻录的那点破事

1、使用nero刻录DVD,速度非常慢, 一张盘4G,包括验证数据需要1个小时。原来是新系统,忘了安装硬盘驱动。安装后只要8、9分钟。2、刻录时最好验证数据。不知道为什么验证数据非常慢,几乎和刻录花一样的时间。3、清华同方的盘说是有4.7G,实际只有4.4G,刻录的软件最好4、10张盘中会有一张烂盘?

2007-06-06 01:09:00 807

原创 Windows操作系统万能Ghost全攻略——转载"网管论坛"

  在10分钟之内,在一个全新的机器上装好以前需要花一天时间安装的操作系统和其他应用程序回答是可以的。   大家都知道,为了装机方便和节约时间,一般人都会在本机使用 GHOST(克隆)软件,将自己的操作系统备份一次,(虽然备份的文件比较占用空间,但对现在大容量硬盘来说,1-2G 的空间根本不成问题!)系统崩溃或者其他问题无法启动时,只要用GHOST,5分钟之内就可以还原自己的操作系统和应用程序

2007-06-05 01:42:00 5968 1

原创 历届blog标题

0)第一次写log,兴奋ing.1)我搬进来时里面有只小老鼠,等我走时,它已经长大了。 2)驾驭电脑3)就怕认真

2007-06-04 22:41:00 811

原创 blog就是网络记事本

  一直有在记事本中写日记的习惯,之前重装过几次系统,日记恢复非常麻烦, 以后就在这写了。ps:限制太多了,写一篇日记“文章Tag”和摘要必须填,不太友好。

2007-06-04 22:32:00 1216

原创 MyEclipse注册号

以下是MyEclipse各个版本(包括4.0/4.1/4.2)注册码,注册说明是我在MyEclipse 4.1GA下注册时显示的注册成功信息。你可以选择一个你喜欢的注册码,真正注册成功将会是一切功能可用,这些有你想要的。License Name: csdnkey: pLR8ZC-956-55-5467865159452715 注册说明:注册后提示授权版本是4.1;授权数是无限制,有效期到2

2007-03-13 21:36:00 1661

转载 learning makefile 文件

//--------------learning makefile 文件 -----------------------1.一个简单的makefile ### makefile 开始 ###  myprog : foo.o bar.o   gcc foo.o bar.o -o myprog   foo.o : foo.c foo.h bar.h   gcc -c foo.c -o foo.o   

2006-04-17 21:28:00 1488

原创 《C++ primer》学习笔记之三十五:function overload resolution之三寻找最佳函数,及常见编译错

    3 寻找最佳函数(Best Viable Function):    在可行集合中寻找最佳函数,这一步的判断条件是:     1. The conversions aplied to the arguments are no worse than the conversions necessary to call any other viable function.     2. The

2006-04-14 01:51:00 1980

原创 《C++ primer》学习笔记之三十四:function overload resolution之二寻找可行函数集合

 2.寻找可行函数集合(Viable Function Set):这一步的判断条件是函数参数是否匹配。  "匹配"指调用函数使用的参数是否完全符合或者经过转换后完全符合函数的定义的参数。  a) exact match: 有下面四种形式    1)Lvalue-to-rvalue     rvalue-to-Lvalue:特别注意不要与reference initialize混淆。     ref

2006-04-14 01:51:00 1473

原创 《C++ primer》学习笔记之三十三:function overload resolution之一寻找候选函数集合

  1.寻找候选函数集合(Candidate Function Set):这一步的判断条件只有一个,即是否同名。  函数调用肯定在另一个函数定义中:   void caller()   {    T t;  //T为任意类型,可为内建类型    f(t);  //找到函数f的定义   }  a)在caller中调用f前声明的同名函数:   比如:    namespace N    {     v

2006-04-14 01:49:00 1600

原创 《C++ primer》学习笔记之三十二:function overload resolution概述

function overload resolution (注意这里的function不是类的成员) hidden: 两个scope,外面的叫"外scope",内面的叫"内scope",则对内scope内的函数调用来说,内scope内定义的函数会hidden外scope内定义的函数(既使参数不同也会hidden)。 overload:同一个scope内,有相同名字不同规格(主要是参数不同)的函数就

2006-04-14 01:48:00 1179

原创 《C++ primer》学习笔记之三十一:stack

The traditional data structure for "placing something somewhere for later retrievual" is a stack.

2006-04-14 01:46:00 1440

原创 《C++ primer》学习笔记之三十:explicit constructor

 explicit constructor: explicit关键字用来修饰构造函数,使之不能参加隐式转换。 对上面的例子: class T { public:  explicit T(){}       //没有效果。因为default constructor不会参加隐式转换  explicit T(int i){}      //good  explicit T(int i, double){

2006-04-14 01:44:00 4776

原创 《C++ primer》学习笔记之二十九: 当copy constructor遇到operator=

 当同时有copy constructor和operator= overload时,各自的调用时机: class T { public:  T(){}       //default constructor  T(int i){}  T(T const &t){}     //copy constructor  T& operator=(T const &t){}  //operator =  ~

2006-04-14 01:42:00 1451

原创 《C++ primer》学习笔记之二十八:类点滴,记录琐碎的类的语法或注意事项

类点滴: 1.0  const和引用成员数据必须在initailize list中初始化,在constructor中都不行。   也不能在声明处初始化(只有static const可以), 1. 在const成员函数中,可以访问member data,但member data都有const属性,试图去改变他们的值会导致编译错: error C2166: l-value specifies cons

2006-04-14 01:41:00 1663 1

原创 《C++ primer》学习笔记之二十七:当模板参数是另一个模板类的实例时写法要注意

 5. 当模板参数是另一个模板类的实例时,写法要注意:  vector> text; //error.如果后面两个>>连着写就会出现这个错  vector > text2; //ok.  vector > text3; //ok.推荐

2006-04-14 01:39:00 1189

原创 《C++ primer》学习笔记之二十六:None-type template parameter

    4.Nonetype template parameter:即不代表类型的模板参数。此参数和真正的函数参数很像。  template    //此处的size即为Nonetype template parameter  T* f()  {   T aryT[size];      //注意这句:只有编译期常量可以作数组定义的长度   for( int i = 0; i    {    ar

2006-04-14 01:37:00 1256 1

原创 《C++ primer》学习笔记之二十五:template function 的实例化

2.何时实例化:  (1).遇到一个函数调用或取函数地址,如果在普通函数定义中找到了匹配的定义,那么直接用普通的函数    如果遇到显式实例化,那么直接跳到第(3)步   比如:   //te.cpp   void f(int i){ cout    f(2);    //这个调用不会引起实例化template_function      //必须是精确匹配,不需要隐含的转换。下面这个不是精确匹配

2006-04-14 01:35:00 1448

原创 《C++ primer》学习笔记之二十四:template function 的定义

template function 的定义和使用: 1. //定义一个function template  //te.h  template void f(T t);  //声明一个function template。 typename T 叫template parameter  template      //定义一个function template  void f(T t){ cout

2006-04-14 01:32:00 1211

原创 《C++ primer》学习笔记之二十三: namespace的定义和使用

 namespace的定义和使用: 1. //定义一个namespace common:  //in common.h    namespace common  {   void fOfCommon(); //声明函数,但不定义   void gOfCommon(); //声明函数  }    //in common.cpp  namespace common  {   void fOfCommo

2006-04-14 01:29:00 8257 2

原创 《C++ primer》学习笔记之二十二: 函数指针

 函数指针: void f(){} void (*pf)() = f;  //指向函数f的指针 void (*pf2)() = &f;  //&操作符可有可无 (*pf)();    //调用函数f() pf(); //像普通的函数调用一样  //另外一种更好的方法,用typedef将函数的指针的定义分为几步 typedef void (dclFun)(); //dclFun相当于一个函数

2006-04-14 01:27:00 1030

原创 《C++ primer》学习笔记之二十一:有趣的变参函数

  有趣的变参函数: ascii中用宏:va_list, va_arg, va_start, va_end 四个宏来实现参数变化的函数,估计其原理是: 调用函数时,传入的参数在栈中按(高地址——〉低地址,最后一个参数——〉第一个参数)排列,知道第一个参数的地址, 那么只需要顺序地知道各个参数的类型就可以取出各个参数的值。 例如: #include  void f(int first, int se

2006-04-14 01:25:00 1253

原创 《C++ primer》学习笔记之二十:引用详解1、2、3

19.1 当引用定义完毕后,它就是另外一个变量的别名,以后使用变量和使用变量的别名效果一样。 int i = 1; int &ri = i; i = 2; cout  ri = 3; cout   19.2  当函数的参数为引用时: 1. 最简单的情况:  void f(int &i) { cout     int main()  {   f(1); //error: 无法将参数1从int转为in

2006-04-14 01:22:00 990

原创 《C++ primer》学习笔记之十九:奇怪的数组引用

 数组的引用很奇怪,定义该引用时必须知道数组的大小,比如: int ary;     //compile error:数组大小未知 int ary0[0];    //compile error:数组大小未知 int ary2[2];   //ok. int (&ary0R)[];   //error:对零大小的数组的引用非法。 int (&ary2R)[] = ary2; //error:对零大

2006-04-14 01:19:00 961

原创 《C++ primer》学习笔记之十八:vc的常用快捷方式

 ctrl + K(F)  快速格式化选定的文本 F10   step debug F11   step into debug ctrl + K , ctrl + u  取消选定文本的注释 ctrl + K , ctrl + c  注释选定的内容

2006-04-14 01:18:00 924

原创 《C++ primer》学习笔记之十七:查看vc的c++标准库的结构

查看vc的c++标准库的结构: 普通情况下,VC只显示本project下的函数/类的结构。 对标准库中的文件,虽然可以看到它的源码(实际上是个头文件),却看不到结构。 VC中可以将标准库的头文件加入到本project中来,这样就可以看文件的结构了:打开vector文件,  这个头文件中定义了class vector,右键菜单中有个选项是"将vector加入到项目",加入后在类视图中会显示vecto

2006-04-14 01:16:00 1011

原创 《C++ primer》学习笔记之十六: typedef的奇怪的用法

 typedef的奇怪的用法:  template  class S{   typedef typename T::iStack sIStack;  //这里的typename甚是奇怪  } 由于参数类型T是未知的类型,所以语句"typedef typename T::iStack sIStack;"中关键字typename指示iStack为T中定义的一个类型。

2006-04-14 01:14:00 964

原创 《C++ primer》学习笔记之十五:四个cast

四个cast的形式:T t = xx_cast(expression) 不要忘了expression要用括号隔开,不向sizeof const_cast: 去掉const修饰,即用来将指向const对象的指针转为指向普通对象的指针  T t;  T const * const_pt = &t;  T *pt = const_pt;     //error  T *pt2 = const_cas

2006-04-14 01:12:00 1423

原创 《C++ primer》学习笔记之十四:c-style字符串的长度算‘/0’在内

 char str[] = "123456"; int i = sizeof(str) / sizeof(*str); //i==7 

2006-04-14 01:09:00 807

原创 《C++ primer》学习笔记之十三:一段很好看的c++代码,由此得出的编程风格

一段很好看的c++代码,编程风格: if ( (AccountId == NULL) || (AccountId == "") ||     (ServerSesion["AccountId"] == NULL) || (ServerSesion["AccountId"] == "") ) {   //open session logs   FileHandle file = f_open(LOG

2006-04-14 01:07:00 1166

原创 《C++ primer》学习笔记之十二:const在"="表达式中

const在"="表达式中: int i = 0; class A{}; A a;  //由于=操作符一般会产生新对象,所以下面的两个语句很正常 int const j = i;  A const b = a;  //b与a为一个不同的对象  A c = b;   //c与b,a为一个不同的对象

2006-04-14 01:05:00 751

原创 《C++ primer》学习笔记之十一:const的放置位置

  const double d = 9.1;  double const d2 = 9.2;   //const放double后或double前效果一样  double d3 const = 9.3;   //error.不能放在变量名后。const修饰函数名时可以放在函数名后。    const double *dp = &d;   //dp为一个指针,指向一个const double。 赋值

2006-04-14 01:03:00 1347

原创 《C++ primer》学习笔记之十:当char字符常量中含多个字符时

10.1 当字符常量中含多个字符时: char c2 =  char c3 = ; //编译错:字符常量中含太多字符 cout  c2虽可以通过编译,但输出时却有错。估计是宽字符影响的编译。 当

2006-04-14 01:01:00 1153

原创 《C++ primer》学习笔记之九:字符 char与宽字符wchar_t

10 宽字符: char c = e;   //a ascii character wchar_t wc = Le; //a wide character char &str = "efg"; //a string wchar_t wstr = L"efg"; //a wide string wchar_t wc2 = e; //a wide character //output:[e

2006-04-14 00:59:00 1109

原创 《C++ primer》学习笔记之八:特殊字符

特殊字符:用cout /a  //bell,ascII值为7些为 /7也可以 /  //转行符,如果字符串太长,可以在最后加转行符,比如 char * s = "12345/

2006-04-14 00:58:00 1007 2

原创 《C++ primer》学习笔记之七:常见编译错

8 常见编译错: 1. 如果一个const对象访问一个非const成员函数会报错:C2662: “Example2::print” : 不能将“this”指针从“const Example2”转换为“Example2 &”    msdn的解释:Invoking a non-const member function on a const object.         4. 在函数定义之前调用函

2006-04-14 00:56:00 2613

空空如也

空空如也

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

TA关注的人

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