【高效程序员系列】3 别碰鼠标——让键盘飞起来 一、闪电启动软件的秘密正如很多魔术,外行人苦思冥想也无法得知其中的奥秘,一旦揭穿则会让人大呼:原来是这样,太简单了。其实这里闪电启动软件业没有什么高深的方法,只不过是调用了运行而已。作为软件开发人员,我们经常会使用到“运行”,输入cmd就可以调用命令行,输入regedit则是编辑注册表。如果你觉得“运行”只能输入这些固定的命令,那你就大错特错了。这里先引入一个情景:假如你是公司的老板,你有
explicit构造函数 按照默认规定,只有一个参数的构造函数也定义了一个隐式转换,将该构造函数对应数据类型的数据转换为该类对象,如下面所示:class String {String ( const char* p ); // 用C风格的字符串p作为初始化值//…}String s1 = “hello”; //OK 隐式转换,等价于String s1 = String(“hello”); 但是有
浅谈C++的智能指针 浅谈C++的智能指针内存泄露是C++程序员都头疼的大问题。C++缺乏像JAVA、C#一样,拥有GC这么一项有利的武器,它将内存管理的部分权限交给了程序员。虽然GC的存在节约了开发、排错的时间与成本,但是C++为了追求运行速度而20年来坚决不予补充进其标准。(题外话:C++通过加大开发难度去换取执行速度的做法,在现在看来不知是否能给与正面的评价,还是留给将来再说吧。) 从此,在堆上申请
重读经典-《Effective C++》Item2:尽量以const,enum,inline替换#define 本博客(http://blog.csdn.net/livelylittlefish)贴出作者(三二一@小鱼)相关研究、学习内容所做的笔记,欢迎广大朋友指正! 1. 宏定义 #define ASPECT_RATIO 1.653该宏定义ASPECT_RATIO也许从未被编译器看见,也许在编译器开始处理源代码之前就被预处理器替换了。我们知道,宏定义在预处理阶段会进行简单地字符串替
Cocoa多线程编程笔记:NSLock与NSThread //#import //int main(int argc, const char * argv[])//{//// @autoreleasepool {// // // insert code here...// NSLog(@"Hello, World!");// // }// return 0
iOS崩溃日志分析 崩溃日志的产生iOS中运行App过程中如果发生程序崩溃,会生成一个崩溃日志文件。这个文件会保存的特定系统目录下,扩展名是crash。当手机连接到iTunes时,会将该文件同步到电脑上。在Mac系统中这些文件会同步到“~/Library/Logs/CrashReporter/MobileDevice”下。而在Windows系统中会同步到“C:\Users\\AppData\Roaming
Mac 终端命令行颜色高亮解决方案 Mac OS x虽然是以图形界面出名的,但是作为一个类Unix系统,还是离不开终端(shell)的,尤其是对于开发人员来说,Mac OS x默认状态的终端给人的感觉总是不那么舒服,所以很有必要对它进行美化。上面这个终端配色怎么样?更换了配色,字体,不同文件类型分色显示等内容,看起来要舒服很多,作这个修改也是很容易的,只需要下面几步:1:通过终端偏好设置,选择配色和字体。
XCode常用快捷键 快捷键的设置:在XCode->Preferences->Key Bindings菜单中可以进行快捷键的设置 键盘对照:实体键盘左下角为Ctrl,从左到右依次为ctrl,option,cmd(command,苹果花键),从下到上依次为ctrl,shift,CapsLock,tab.列表格式:功能名称 (快捷键,如为手动修改则标记“修改”,否则为Xcode4默认): 功能描述常
IOS系统文件详解 删除iPad或 iPhone 目录 /private/var/keychains/keychain-2.db文件,重启iPad 或iPhone 。 1.如何卸载机内自带软件?首先需要越狱,越狱后用91手机助手打开iPhone手机目录(在91界面点击文件管理),找到/Applications目录下就是iPhone所有软件目录,在里面删除不需要的软件目录,然后重启手机,即完
为什么C++ 并没有"王者归来"? Why C++ Is Not “Back”又引起了争论,主要观点是:C++ is the wrong direction for the future, C++对于未来是一个错误方向,大意翻译如下:最大问题是语言应该越来越简单,抽象层次越来越高,而不是减少。(banq注:领域驱动分层关系的疑惑)当然总是会有需要低级别的代码,但我们今天写的代码的大部分是在一个更高的水平。
关于不同的程序入口,main(), _tmain(),WinMain(),wmain()? 今天终于有时间来研究一下一个很大很大的工程编译成一个exe和若干dll后,程序是如果执行它的第一条指令的?操作系统以什么规则来找到应该执行的第一条指令(或说如何找到第一个入口函数的)? 我们以前写windows程序时,都是先写个main()函数,然后再写自己的逻辑,然后编译,然后点击exe就能运行我们的程序了;如果我们用VS2005工具生成一个非空工程,工程会为我们提供一个int_tmai
MAC 系统的启动过程和系统启动时运行shell 脚本 MAC 系统的启动过程可以参见:http://hi.baidu.com/%CB%E6%B7%E7%B6%F8%D0%D01999/blog/item/271d20a694d7d49dd0435842.html 1 Mac 开机启动脚本或应用(系统启动时运行shell 脚本)1)如果想启动的是一个Mac 的应用程序(即xxx.app)则可以通过图形化界面来设置: sy
C++完美实现Singleton模式 Singleton模式是常用的设计模式之一,但是要实现一个真正实用的设计模式却也不是件容易的事情。1. 标准的实现class Singleton{public:static Singleton * Instance(){if( 0== _instance){_instance = new Singleton;}
知识记录:string、wstring、cstring、 char、 tchar、int、dword转换方法 最近编程一直头痛这集中类型的转化,明知都可以转却总是记不住,不断的上网查来查去,在这里小结一下。以备以后方便使用,当然有些方法可能不是最新的,或者最简单的,但是对于自己已经了解的使用起来应该方便的多:1》string转wstringwstring s2ws(const string& s){ _bstr_t t = s.c_str(); wchar_t* pwchar = (w
const参数,const返回值与const函数 在C++程序中,经常用const 来限制对一个对象的操作,例如,将一个变量定义为const 的: const int n=3;则这个变量的值不能被修改,即不能对变量赋值。 const 这个关键字经常出现在函数的定义中,而且会出现在不同的位置,比如: int strcmp (const char *str1,const char