2011年5月2日
摘要: 函数不能返回另一个函数或者内置数组类型,但可以返回指向函数的指针,或指向数组元素的指针的指针 在定义或声明函数时,没有显式指定返回类型是不合法的: // error: missing return type test(double v1, double v2) { /* ... */ } 早期的 C++ 版本可以接受这样的程序,将 test 函数的返回类型隐式地定义为 int 型。但在标准 C+... 阅读全文
posted @ 2011-05-02 20:05 cppfans 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 在条件表达式中定义的变量必须初始化,该条件检验的就是初始化对象的值。 对于 switch 结构,只能在它的最后一个 case 标号或 default 标号(只有当default是最后一个标号时)后面定义变量。 在循环条件中定义的变量在每次循环里都要经历创建和撤销的过程。 形成标号的标识符只能用作 goto 的目标。因为这个原因,标号标识符可以与变量名以及程序里的其他标识符一样,不与别的标识符重名... 阅读全文
posted @ 2011-05-02 19:15 cppfans 阅读(156) 评论(0) 推荐(0) 编辑
摘要: sizeof格式: sizeof (type name); sizeof (expr); sizeof expr; 使用 sizeof 的结果部分地依赖所涉及的类型: 对 char 类型或值为 char 类型的表达式做 sizeof 操作保证得 1。 对引用类型做 sizeof 操作将返回存放此引用类型对象所需的内在空间大小。 对指针做 sizeof 操作将返回存放指针所需的内在大小;注意,如果要获取该指针所指向对象的大小,则必须对指针进行引用。 对数组做 sizeof 操作等效于将对其元素类型做 sizeof 操作的结果乘上数组元素的个数。 因为 sizeof 返回整个数组在内存中的存储长. 阅读全文
posted @ 2011-05-02 19:14 cppfans 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 数组定义中的类型名可以是内置数据类型或类类型;除引用之外,数组元素的类型还可以是任意的复合类型。没有所有元素都是引用的数组。 与vector不同,一个数组不能用另外一个数组初始化,也不能将一个数组赋值给另一个数组,这些操作都是非法的: int ia[] = {0, 1, 2}; // ok: array of intsint ia2[](ia); // error: cannot initial... 阅读全文
posted @ 2011-05-02 18:56 cppfans 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 有一种情况下,必须总是使用完全限定的标准库名字:在头文件中。理由是头文件的内容会被预处理器复制到程序中。用 #include 包含文件时,相当于头文件中的文本将成为我们编写的文件的一部分。如果在头文件中放置 using 声明,就相当于在包含该头文件 using 的每个程序中都放置了同一 using,不论该程序是否需要 using 声明。 value initialization(值初始化):当给... 阅读全文
posted @ 2011-05-02 17:51 cppfans 阅读(138) 评论(0) 推荐(0) 编辑
摘要: C++ 标准并未定义 signed 类型如何用位来表示,而是由每个编译器自由决定如何表示 signed 类型。这些表示方式会影响 signed 类型的取值范围。8 位 signed 类型的取值肯定至少是从 -127 到 127,但也有许多实现允许取值从 -128 到 127。 在字符字面值前加 L 就能够得到 wchar_t 类型的宽字符字面值。如: L'a' 正如存在宽字符字面值,如 L'a'... 阅读全文
posted @ 2011-05-02 17:41 cppfans 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 在大多数系统中,main函数的返回值是一个状态指示器。返回值0往往表示main函数成功执行完毕。任何其他非零的返回值都有操作系统定义的含义。通常非零返回值表明有错误出现。每一种操作系统都有自己的方式告诉用户main函数返回什么内容。 访问main函数的返回值的方式和系统有关。不论 UNIX 还是 Windows 系统,执行程序后,必须发出一个适当的echo命令。UNIX 系统中,通过键入如下命令... 阅读全文
posted @ 2011-05-02 17:31 cppfans 阅读(108) 评论(0) 推荐(0) 编辑