2008-03-24

温故而知新 - static应用

关键字: static
1> A static data member can be of the same class type as that of which it is a member. a nonstatic data member is restricted to being decleared as a pointer or a reference to an object of its class. class Bar{ private: static Bar mem1; //ok Bar *mem2; //ok Bar mem3; //error } 2> static成员变量能 ...
2008-03-16

温故而知新 - 对象初始化

关键字: 初始化
Class的成员变量总是以其声明的次序被初始化,而不是以构造函数的成员初始化列表的顺序被初始化。 对于构造函数中的函数体中的“初始化”只能算作是“伪初始化”,严格地说,成员初始化应该放在成员初始化列表中。 问:如何在构造函数的成员初始化列表中初始化基本类型的定长数组(比如对int arr[5],应该将他的每个元素全部初始化为0); 问: 这段代码: class GamePlayer{ private: string gameName; public: GamePlayer(): gameName(“uno”){} }; int main(void){ cou ...
2008-03-12

温故而知新-const应用

关键字: const, effective c++
class专属常量的声明和定义有两种方式: 一种是in-class initialization 方式,这种方式只适用于: (三者同时满足) 1.新式编译器 2.integral type(ints, chars, bools)(floats, doubles有些例外,它支持这种方式,但要求类外部一定要有定义式) 3.static const 这种定义方式只需要在类定义段中提供声明即可。 static const int maxSize = 10; 如果要取此成员的地址,需要在类定义外加上这个变量的定义式: const int m ...
2007-11-06

c运算符优先级参考表

关键字: 运算符
c运算符     运算符(优先级从高到低) 结合性   ++(后缀) --(后缀) ( )(调用函数) [] {} (组合文字) . -> 从左到右 &nbs ...
2007-06-27

c开发策略-之-错误处理

关键字: 错误处理
在使用任何语言进行应用程序开发时,我们都应该提前规划好如何处理错误。Java和c++中普遍使用异常来进行错误处理,但是c语言,因为没有提供一个很优雅的异常机制,所以明确如何进行错误处理显得很重要。C语言中的错误处理有多种方式,总结如下:大家可以讨论这些处理方式的优劣,这样等以后在程序开发中,我们可以从整体上为程序设计更好的错误处理方法。 1. 返回值方式:用函数的返回值标志函数是否执行成功。比如成功返回1,失败返回0。这种方式的好处是简单方便,而且不影响效率,保持了c语言的高效率。但是仍然有问题,一个问题是代码可读性的问题,如果每个函数都有这样的返回值的话,为了保持程序的正确运行, ...
2007-06-27

为c语言实现异常处理机制(全)

关键字: 异常,错误
引子: 不管是在c++还是在java中,异常都被认为是一种很优雅的处理错误的机制,而如果想在c语言中使用异常就比较麻烦。但是我们仍然可以使用c语言中强大的setjmp和longjmp函数实现类似于c++的异常处理机制。 有关c语言中setjmp和longjmp的资料可以参考: C语言中一种更优雅的异常处理机制:http://blog.csdn.net/hello_wyq/archive/2006/06/23/826312.aspx 全面了解setjmp与longjmp的使用:http://blog.csdn.net/hello_wyq/archive/2006/06/16/8040 ...
xombat
搜索本博客
存档
最新评论