0%

这是一篇简单的记录。

git

  • 使用 git diff 命令可以查看工作区与暂存区之间的差异。
  • 使用 git diff <gitreversion> 命令可以查看工作区与指定版本之间的差异。
  • 使用 git diff --cached 命令可以查看暂存区与当前 HEAD 指针指向版本之间的差异。
  • 使用 git diff --cached <gitreversion> 命令可以查看暂存区与指定版本之间的差异。
  • 使用 git diff -- <file> 可以查看特定文件在工作区与暂存区之间的差异。
  • 使用 git diff <gitreversion> -- <file> 可以查看特定文件在工作区与指定版本之间的差异。
  • 使用 git diff --cached -- <file> 可以查看特定文件在暂存区与当前 HEAD 指针指向版本之间的差异。
  • 使用 git diff --cached <gitreversion> -- <file> 可以查看特定文件在暂存区与指定版本之间的差异。
阅读全文 »

模板是一个 C++ 的高级特性,它使得程序员可以编写一个类或者函数,以相同的方式处理不同类型的数据。

前段时间在网上看到,有人认为类模板的成员函数必须实现在类模板的定义当中。这与我一直以来的认知是冲突的——我认为类模板和普通的类其实没有什么差别,除了它需要做额外的实例化之外。于是,我翻看了 C++ Primer,并检索了一些资料,就有了这篇文章。

阅读全文 »

指针是 C 语言的精髓。——无名氏
指针是学业不精的程序员的大杀器。——Liam Huang

C 和 C++ 中的指针,是语言中相当犀利的工具。但是它也是一把双刃剑,用得不好,就是毁灭整个工程的大杀器。此篇老调重弹,讲一讲 C 和 C++ 中的指针。

此篇别名:可能是中文网络中关于 C 和 C++ 指针最好的文章。

阅读全文 »

很早以前就知道,编译器做的工作,首先就是读入源码,而后进行词法分析(有预处理的语言,还要先经过预处理器)。但是,一直没有对 C 语言的词法分析过程进行过深入了解。今天又拿起 Koenig 的《C 陷阱与缺陷》,才又读到相关的说明。

阅读全文 »