01 2013 档案

摘要:从Rob Pike 的 Google+上的一个推看到了一篇叫《Understanding Object Oriented Programming》的文章,我先把这篇文章简述一下,然后再说说老牌黑客Rob Pike的评论。先看这篇教程是怎么来讲述OOP的。它先给了下面这个问题,这个问题需要输出一段关于操作系统的文字:假设Unix很不错,Windows很差。这个把下面这段代码描述成是Hacker Solution。(这帮人觉得下面这叫黑客?我估计这帮人真是没看过C语言的代码)12345678910111213141516171819public class PrintOS { public sta 阅读全文
posted @ 2013-01-30 10:41 阿津 阅读(191) 评论(0) 推荐(0)
摘要:在程序运行过程中,报错这个东西是在异常出现后用于防止继续程序的动作。这些异常,包括用户的,逻辑的,系统的都可以使用一个函数来识别。如果识别的程序不能够处理异常,那么就会抛出一个异常。而能够处理该异常函数就会接收并进行处理。在C++中,当一个异常被抛出,它就必须被处理,否则会导致一些程序的报错或终止。如果用户异常处理不存在,编译器就会提供一个默认机制来终止程序异常处理比常规的程序流程控制(如循环语句或 if 语句)更占用资源。常规情况下最好不要使用异常机制,将它留在真正“不寻常”的情形下使用吧。当不能在局部范围内处理时,异常非常有用的。您可以直接将流程控制转移到可以处理错误的地方,以此取代在程序 阅读全文
posted @ 2013-01-15 00:55 阿津 阅读(461) 评论(0) 推荐(0)
摘要:1.5. 类的简介解决书店问题之前,还需要弄明白如何编写数据结构来表示交易数据。C++ 中我们通过定义类来定义自己的数据结构。类机制是 C++ 中最重要的特征之一。事实上,C++ 设计的主要焦点就是使所定义的类类型的行为可以像内置类型一样自然。我们前面已看到的像 istream 和 ostream 这样的库类型,都是定义为类的,也就是说,它们严格说来不是语言的一部分。完全理解类机制需要掌握很多内容。所幸我们可以使用他人写的类而无需掌握如何定义自己的类。在这一节,我们将描述一个用于解决书店问题的简单类。当我们学习了更多关于类型、表达式、语句和函数的知识(所有这些在类定义中都将用到)后,将会在后面 阅读全文
posted @ 2013-01-13 17:24 阿津 阅读(528) 评论(0) 推荐(0)
摘要:-----------------------------------7.2.2--------------------------------------------------------考虑下面不适宜复制实参的例子,该函数希望交换两个实参的值:// incorrect version of swap: The arguments are not changed! void swap(int v1, int v2) { int tmp = v2; v2 = v1; // assigns new value to local copy of the argument v1 = tmp; } 阅读全文
posted @ 2013-01-07 15:11 阿津 阅读(258) 评论(0) 推荐(0)
摘要:英文原文:10 steps to becoming a better programmer 这篇文章要介绍的,是我作为专业程序员这些年来学到的能真正提高我的代码质量和整体工作效率的 10 件事情。 1. 永远不要复制代码 不惜任何代价避免重复的代码。如果一个常用的代码片段出现在了程序中的几个不同地方,重构它,把它放到一个自己的函数里。重复的代码会导致你的同事在读你的代码时产生困惑。而重复的代码如果在一个地方修改,在另外一个地方忘记修改,就会产生到处是 bug,它还会使你的代码体积变得臃肿。现代的编程语言提供了很好的方法来解决这些问题,例如,下面这个问题在以前很难解决,而如今使用 lamb... 阅读全文
posted @ 2013-01-07 14:31 阿津 阅读(188) 评论(0) 推荐(0)
摘要:在向函数传递大型对象时,需要使用引用形参,这是引用形参适用的另一种情况。虽然复制实参对于内置数据类型的对象或者规模较小的类类型对象来说没有什么问题,但是对于大部分的类类型或者大型数组,它的效率(通常)太低了;此外,我们将在第十三章学习到,某些类类型是无法复制的。使用引用形参,函数可以直接访问实参对象,而无须复制它。 阅读全文
posted @ 2013-01-07 14:28 阿津 阅读(192) 评论(0) 推荐(0)
摘要:下表列出了受支持的编码以及与这些编码关联的代码页。最后一列中的星号指示 .NET Framework 本身即支持该代码页,而不需考虑基础平台。代码页名称显示名称37IBM037IBM EBCDIC(美国 - 加拿大)437IBM437OEM 美国500IBM500IBM EBCDIC(国际)708ASMO-708阿拉伯字符 (ASMO 708)720DOS-720阿拉伯字符 (DOS)737ibm737希腊字符 (DOS)775ibm775波罗的海字符 (DOS)850ibm850西欧字符 (DOS)852ibm852中欧字符 (DOS)855IBM855OEM 西里尔语857ibm857土耳 阅读全文
posted @ 2013-01-05 20:12 阿津 阅读(357) 评论(0) 推荐(0)