C#中C/C++程序员注意问题
1、C/C++程序员请注意,不能在case语句不为空时“向下执行”。
2、值类型和引用类型之间的区别:C#的基本类型(int,char等)都是值类型,是在栈中创建的。而对象是引用类型,创建于堆中,需要使用关键字new。
3、在C#中通过实例访问静态方法或成员变量是不合法的,会生成编译器错误。但是我们可以通过声明他们的类的名字来发访问静态成员。
4、C#派生类中,没有私有或者保护继承。关于这一点C++程序员注意了。
5、C#多态性,C++程序员注意,必须显式用关键自override标记重新定义了虚方法的方法声明。
6、抽象类与密封类,抽象类用来被派生,并为其子类提供遵循模版;而密封类则完全不允许被派生。抽象类关键字是abstract;密封类关键字为sealed
7、C#中结构体的定义与C++的非常不同。在C++中,结构体与类除了默认的可见性(一个是public,一个是privae)之外完全一样。而在C#中,结构体是值类型,而类是引用类型。
8、C#中委托相当于C++中的方法指针,关键字为delegate。
9、.NET用来创建网页程序的技术是ASP.NET2.0,它在命名空间System.Web和System.Web.UI中为创建网页程序提供了一套丰富的类型。
10、C#线程三种同步机制:互锁类(Interlocked),C# lock语句,以及监控器对象(Monitor class)
11、C#中要使用值变量之前,需要事先声明,并且要在使用之前先设置初始值,永远不可为null;引用类型变量,存储在heap中,不允许在初始化之前使用这个变量。
12、C#中switch-case语句与C/C++不同地方在于C#中不允许case判断式“silent fall through”。也就是说,当找到符合case标记后的常数后,只会执行此case区块中的程序代码,不会再执行其他的case判断式进行判断的动作。
13、参数传入机制
只限定目前的项目,或是继承自此类的成员才可以存取。
结构与类的差异:
16、值类型与引用类型之间的互换称为Boxing与Unboxing
17、在C#中,对象都是使用new保留字建立的,建立对象时分两个步骤:
一、向系统要求内存。
二、调用构造器进行初始化。
18、C#中多态性,虚拟方法用来指明扩展类可以改写基础类方法的实现部分。多态性用override、new来实现,在C++中用virtual来实现。
Override方法则是应用在扩展类当中,可使用override保留字指明欲改写基础类的virtual成员之实现部分。换言之,virtual方法是在基础类中定义的,而override是在扩展类中定义的。
方法声明前加上了virtual 修饰符,我们称之为虚方法,反之
相关文档:
下面用到的方法叫辗转相除法,具做步骤如下
先用小的一个数除大的一个数,得第一个余数;
再用第一个余数除小的一个数,得第二个余数;
又用第二个余数除第一个余数,得第三个余数; &nb ......
1.引言
C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属于任何类的全局变量和函数。但是,C++毕 ......
http://blog.csdn.net/utopia2006/archive/2008/05/30/2495667.aspx
目的:当程序在前台运行时,按挂机键程序不退出,只是退到后台运行,程序在后台运行时,按c键能把程序结束
方法:在HandleWsEventL()中屏蔽挂机键KAknUidValueEndKeyCloseEvent,在值在avkon.hrh中定义,实践中发现8.0sdk的avkon.hrh没有定义KAknUidValu ......