自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

常高伟的专栏

关注软件开发和技术中人的因素

  • 博客(29)
  • 资源 (18)
  • 收藏
  • 关注

原创 创业的首要因素

从他们的出身地点来看,上面有六个人均出身于沛县,另外在加上刘邦和吕后,让我们看看沛县总共出现了多少的英雄豪杰:一个伟大的皇帝——刘邦;一个厉害的皇后——吕后;一个被封为首功、列为汉初三杰的丞相——萧何;一个被推为功劳第二的丞相——曹参;一个军功显赫,关键时刻“安刘氏天下”的将军——周勃;一个军功显赫,仅次于项羽的第二猛将——樊哙;一个战功显赫的将军——夏侯婴;一个耿直敢言的御史大夫——周昌;……上面这些人都是在史记当中有记载的人物,沛县肯定还有很多一开始就追随刘邦,后

2010-11-28 23:26:00 9201 20

原创 如何成为一名专家级的开发人员——读后总结

今天在CSDN首页上看了一篇文章:如何成为一名专家级的开发人员文章相当不错,感触很深,总结一下:1、专注。要选择一个平台,一个行业,然后在这个领域内专注一段时间(最少要6年)。我现在应该是linux 上C/C++开发,要专注这一领域。我的一个同事做了三年,后来跳槽到HW后转java了,可惜了。2、深入。深入的了解我的这个平台,以及语言,行业。比如,我要能掌握linux操作系统,linux内核;深入掌握C/C++;掌握通信行业知识。3、扩展。“当你开始掌握当前的平台,要开始学习独立于平台的

2010-11-22 18:48:00 5541 11

原创 宁以non-member-and-non-friend替换member函数——effective c++学习笔记

宁以non-member-and-non-friend替换member函数(Prefer non-member non-friend function to member functions.)non-member-and-non-friend表示非成员且非友元。之所以这样做,是为了减少能够访问private成员的代码的数量,以此来提高封装性。 namespace的使用:1、 namespace的定义可以累加。2、 namespace既可以包含声明,也可以包含定义。3、

2010-11-19 23:08:00 3160

原创 将成员变量声明为private——effective c++学习笔记

将成员变量声明为private(Declare data members private.)不采用public成员变量的理由:1、 语法的一致性。所有对成员的访问通过函数来进行。2、 使用函数可以让你对变量的处理有更精确的控制。3、 封装:如果使用函数访问,万一成员变量发送更改,对客户来说没有影响。封装他们可以确保class的约束条件总会获得维护,因为只有成员函数可以影响他们,也保留了日后变更的权力。 同时,protected 变量使用于上面的1和2。对于封装性,publi

2010-11-19 23:04:00 2407 5

原创 给CSDN的几个建议

你好,给你反应三个个问题:1、最近一段时间csdn老是无法登陆,我摸索的规律是用IE是不行的,然后换成Google浏览器就可以了。有的时候有事反过来的。最近一段时间相当频繁,已经快无法忍受了。2、建议CSDN倡导一个文明评论活动。有不同的意见很正常,但是不要太粗鲁。有些博客(比如袁萌)里面的评论简直是不堪入目。希望CSDN能够从技术上也支持一下这个活动。3、CSDN首页的推荐博客更新的太慢。CSDN的资讯还是不错的,但是博客更新的太慢了。有的时候一篇文章停留在首页好几天,很占位置,我希望能够更新

2010-11-19 23:02:00 1540 3

原创 必须返回对象时,别妄想返回其reference——effective c++学习笔记

必须返回对象时,别妄想返回其reference(Don’t try to return a reference when you must return an object.)reference是对象的另一个名称,它指向一个实际存在的对象。如果reference指向local 对象,则对象在函数返回前销毁。如果reference指向new 对象,则函数返回的地方需要进行delete操作,给客户带来不便。特别的: const Point& operator * (cons

2010-11-18 22:11:00 1713

原创 宁以pass-by-reference-to-const替换pass-by-value——effective c++学习笔记

20 宁以pass-by-reference-to-const替换pass-by-value(Prefer pass-by-conference-to-const to pass-by-value.)pass-by-conference-to-const:class Point{ public: Point( ) : xval(2), yval(2){printf("%d,%d/n", xval, yval);} void SetXval(int i

2010-11-18 22:04:00 1914

原创 设计class犹如设计type——effective C++学习笔记

设计class犹如设计type(Treat class design as type design.)设计class要带着和“语言设计者当初设计语言内置类型时”一样的谨慎来设计class。class也是一个types,好的types具备自然的语法,直观的语义,以及一或多个高效实现品。class设计checklist:1、 新type的对象应该如何创建和销毁?2、 对象的初始化和对象的赋值该有什么样的差别?这决定了class的构造函数和赋值(assignment)操作符的行为,以

2010-11-18 22:00:00 1614

原创 让接口容易被正确使用,不易被误用——effective c++学习笔记

如果客户企图使用某个接口而却没有获得他所预期的行为,这个代码不应该通过编译;如果代码通过了编译,它的作为就是客户想要的。1、 好的接口很容易被正确使用,不容易被误用。你应该在所有的接口中努力达成这些性质。2、 “促进正确使用”的办法包括接口的一致性,以及与内置类型的行为兼容。3、 阻止误用的办法包括建立新类型,限制类型上的动作,束缚对象值,以及消除客户对资源的管理责任。4、 tr1::shared_ptr支持定制型删除器,这可防范DLL问题。可被用来自动解除互斥锁。

2010-11-18 21:55:00 1576

原创 如何在不同的阶段选择合适的学习资料

做IT学习非常重要,但是学习的资料同时又非常多,如何选择资料对学习的效果影响也是相当大的。选择资料是质量的内容是一方面,何时学习资料也是一个非常重要的方面。我学习时机最为合适的两本资料是《代码大全》和《Effective c++》。最后总结一下:1、那种方式学习最快?一定是有工作需求的,并且能够和实际的开发经验结合起来的时候学习的最快,2、如果一本书读不下去,不一定是自己的意志力有问题(技术学习是一个IT人的一项基本需求,就像人要吃饭一样,不需要意志力),可能是这本书不适合你,至少是不适

2010-11-18 21:51:00 12002 55

原创 从Google招聘公告看自身技术差距

Google 招聘广告最近做的很多,今天看到了Google的招聘公告,思考自身的不足:

2010-11-18 21:48:00 3118 4

原创 给部分培训学生的建议

近几年 IT 培训似乎非常火,各种各样的培训学校层出不穷,而且据我说知,学费好像也非常高。这几年面试下来,都能碰到很多培训学校的学生。我们更喜欢招聘这样的学生,无论他有没有参加过培训:1 、对编程充满兴趣;我认为,这是前进最持久,最根本的源动力。2 、自己经常编程,经常提出一个小的需求并且用代码实现。或者经常参与程序设计竞赛,ACM等。3 、对编程知识点深入学习。不但要知其然,还要知其所以然。4 、积极学习学校课程之外的编程知识,比如《 c 和指针》,《 c 缺陷和陷阱》,《c专家编

2010-11-16 22:49:00 64450 686

原创 C++的垃圾回收——以对象管理内存

1、以对象管理内存(Use Objects to manager resources.)这一条款主要说的是如何进行动态内存申请释放。RAII原则:Ø 获得资源后立刻放进管理对象内;Ø 管理对象运用析构函数确保资源被释放;我自己也写过一个动态申请释放的类。这个类的一个假设是,一个资源在被申请后会马上被使用,而在函数返回后就需要释放。为此我写了一个基类,每个资源类都要继承这个基类。每个资源子类的构造函数和析构函数都是private,这样就杜绝了new和delete

2010-11-16 22:40:00 3896 4

转载 【观点】风雨20年:我所积累的20条编程经验

【观点】风雨20年:我所积累的20条编程经验

2010-11-15 11:44:00 1790 1

原创 面试太累人

今天面试一天,太累人了。面到最后发现合适的人不多,真够郁闷的。

2010-11-13 20:08:00 2038 1

原创 12 复制对象时勿忘其每一个成分

设计良好的面向对象系统会将对象的内部封装起来,只留两个函数负责对象拷贝。如果对象增加了一个新的成员,则需要在所有的构造函数,拷贝函数中进行处理。否则会造成局部拷贝。如果要为derived class写coping函数,则必须小心的复制base class成分。当你编译一个copying函数是,你必须(1)复制所有的local成员变量(2)调用适当的base class的copying函数。如果copy构造函数和copy assignment操作符函数有同样的代码,则你可以用一个新的函数将

2010-11-11 22:04:00 1662

原创 8 别让异常逃离析构函数

异常我目前对异常有些抵触。感觉他不是十分的使用。主要两个方面,一是我对它了解不够深入,另一方面,更重要的是,我认为他可能会破坏程序结构。这一章暂时保留。注意:析构函数绝对不要吐出异常。如果一个被析构函数调用的函数可能抛出异常,析构函数应该捕捉任何异常,然后吞下他们(不传播)或结束程序。如果客户需要对某个操作函数运行期抛出的异常做出反应,那么class应该提供一个普通函数(而不是在析构函数中)执行该操作。

2010-11-11 22:02:00 1484

原创 9 绝对不要在构造函数和析构函数中调用virtual函数

在derived class对象的base class对象构造期间,对象的类型是base class ,而不是derived class。所以virtual函数是base class中的函数,而不是derived class中的函数。对象在derived class构造函数开始执行前,不会成为一个derived class函数。同样的道理也适用于析构函数,一旦derived class对象开始执行,对象内的derived class成员变量便呈现未定义值。进入base class就是base cla

2010-11-11 22:01:00 1580

原创 若不想使用编译器自动生成的函数,就应该明确拒绝

明确拒绝的方法:1、 将copy构造函数和copy assignment函数声明为private。2、 上面的方法不是一个完全方案:因为类的members成员函数和friends函数还可以访问。一点改进就是指声明而不定义他们,这样有地方使用它们的时候,就会产生连接告警。3、 声明一个baseclass,并且将其copy构造函数和copy assignment操作符指定为private。但是这种方法会增加继承层数。我不是很认同。注意:为驳回编译器自动(暗自)提供的功能,可以将相应的成员

2010-11-11 21:59:00 1466

原创 为多态基类声明virtual析构函数

为多态基类声明virtual析构函数(Declare destructors virtual in polymophic base classes.)

2010-11-11 21:55:00 1412

原创 了解C++默默编写并调用那些函数

了解C++默默编写并调用那些函数(Know what functions C++ silently and calls)如果定义一个类,并且说明都没有声明,则c++会默认给它声明四个函数:1、 default构造函数2、 析构函数 编译器产生的析构函数是non-virtual,除非这个class的base class自身声明有virtual析构函数。3、 copy构造函数 将来源对象的每一个non-static成员变量拷贝至目标对象。4、 copy assignment 操作

2010-11-11 21:51:00 1043

原创 确定对象在被使用前被初始化(Make sure that objects are initialized before they’re used)——effective c++学习笔记

注意:1、 为内置对象手动初始化,因为c++不保证初始化他们。2、 构造函数最好使用成员初值列,而不要在构造函数中使用赋值操作。初值列中成员的顺序,应该和他们在class中声明的顺序一样。3、 为避免“跨编译单元值初始化次序”问题,请以local static对象代替non-local static对象。

2010-11-10 22:51:00 873 1

原创 确定对象在被使用前被初始化(Make sure that objects are initialized before they’re used)——effective c++学习笔记

注意:1、 为内置对象手动初始化,因为c++不保证初始化他们。2、 构造函数最好使用成员初值列,而不要在构造函数中使用赋值操作。初值列中成员的顺序,应该和他们在class中声明的顺序一样。3、 为避免“跨编译单元值初始化次序”问题,请以local static对象代替non-local static对象。

2010-11-10 22:50:00 993

原创 不同编译单元内定义的non-local static 对象的初始化顺序

static对象包括global对象,定义于namespace作用域的对象,在class内的对象,在函数内,以及file作用域内被声明为static的对象。local-static 对象指的是定义在函数内部的对象。其他的被称为non-local-static对象。编译单元是指产生单一目标文件的代码,通常是一个源程序和它所include的头文件。问题:有两个类的定义:class Test1{ public : Test1() {

2010-11-10 22:26:00 2431

原创 尽量以const,enum,inline代替#define——effective c++学习笔记

const:通俗的讲,就是一编译器代替预处理器。class的专属常量,且只有一份拷贝,需要在类内定义:static const int i = 0;这样不会提示出错。如果定义为static int i = 0 ;则编译器会提示:“错误:ISO C++ 不允许在类内初始化非常量静态成员 ”enum:typedef enum Type{ One, Two, Three,};Type T = One;对于上面的定义,One,Two,Thre

2010-11-03 22:54:00 2310

原创 C++关键字explicit的用法

explicit是显示的意思。而且只能修饰构造函数。因为在类的构造函数中,凡是只带一个参数的构造函数,都定义了一组隐式转化——把构造函数类型转换为该类的类型。比如:class Explicit{ private: int _i; public: Explicit(int i ) { // TODO Auto-generated constructor stub _i

2010-11-03 22:48:00 2545

原创 物联网会是下一个互联网吗?

今天看到一则消息:10月28日,中国首届物联网博览会在无锡举办。物联网的思路确实很好,有可能是互联网之后的下一个“互联网”。他成长的过程中,会有很多的机会,而且会促生很多像腾讯,百度,新浪等等这样的企业。有互联网作为基础,物联网的发展的步伐可能会很快。和互联网类似,在初期阶段,基础设施建设方面可能会有更多的机会,后期应用方面应该会发力。总之,这是一个新的机会,要把握得住。

2010-11-01 22:38:00 1404

原创 基业是否真的可以长青?

基业长青是一本书。这本书探讨的是企业长生不老的秘诀。人不可以长生不老(至少目前不可以),企业是否能够做到长生不老?微软过了他的巅峰时刻,被Google超越了;Google正处在他的巅峰时刻,可是他的超越者已经出现了——按照目前的形式,Facebook似乎要超越Google。那么Facebook之后,肯定还有新的超越者。长生不老很难。中国有句古话,叫“富不过三代”。中国古代的历史似乎也可以证明这一点,秦后有汉,汉后有唐(真正统一的帝国),唐后有宋,宋后有元,元后有明,明后有清—

2010-11-01 22:28:00 1815

转载 每位开发人员都应铭记的10句编程谚语

ASP.NET开发者Kevin Pang 曾发表一篇博文《10 Programming Proverbs Every Developer Should Know》,文中列举了版主认为开发者应该铭记的10条编程谚语。《职场博客——伯乐在线》对本文进行了翻译,现把译文转载于此。全文如下:所谓谚语,就是用言简意赅、通俗易懂的方式传达人生箴言和普遍真理的话,它们能很好地帮助你处理生活和工作上的事情。也正因如此,我才整理了10句编程谚语,每位开发人员都应该铭记他们,武装自己。1. 无风不起浪

2010-11-01 20:22:00 1982 2

python开发总结——c程序员python之路

python开发总结——c程序员python之路 我在工作中写的python总结,适合学习python的c程序员。

2012-09-21

python开发总结

自己的开发总结,适合初学者。 页数大概有四十页,后面慢慢更新。

2012-05-23

google-reader-subscriptions.xml

我关注的技术博客列表。是我最近一两年收集的博客列表。 博客是学习一个非常重要的重要手段。

2011-11-03

:The C Programming Language 中文版

:The C Programming Language 中文版: The C Programming Language 中文版

2009-11-07

周一清晨的领导课,领导能力

周一清晨的领导课周一清晨的领导课周一清晨的领导课

2009-10-21

OSGI进阶.pdf

OSGI进阶 开发 教程,更深入介绍OSGI

2009-08-25

Google Android SDK开发范例大全

Google Android SDK开发范例大全

2009-08-25

Android开发教程英文版.rar

Android开发教程英文版.rar 英文资料。可以看看。

2009-08-25

android+Programming.pdf

android+Programming.,英文的开发资料。技术越前沿,深入,中文资料越少。还是慢慢的习惯英文资料吧。

2009-08-25

android应用框架原理与程序设计

android应用框架原理与程序设计,高焕堂的作品。

2009-08-25

IBM android技术文档——从入门到精通.rar

IBM的android资料,对android感兴趣的人可以学习一下。

2009-08-17

全部的SCA&SDO中文规范

满江红社区翻译的中文规范,是目前最新的。也是全部的。

2009-08-17

演化架构与紧急设计——IBM架构资料

演化架构与紧急设计,IBM的资料,是IBM一位资深架构师写的资料。对于提升架构能力还是有帮助的。

2009-08-17

SCA Assembly Model V1.00.pdf

SCA中文规范,主要描述装配模型。v1.0

2009-08-17

IBM SCA培训资料

IBM SCA培训资料,属于基础性的。可以看一下。应该有帮助。

2009-08-17

技巧:在 C-C++中如何构造通用的对象链表

技巧:在 C-C++中如何构造通用的对象链表

2009-04-08

c++标准库文档,chm格式,包含c

c++保准库文档,详细介绍c++库函数。chm格式,包含c

2009-04-08

空空如也

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

TA关注的人

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