C#和C++是两种不同的编程语言,它们有以下几个方面的区别:
1. 语法:C#是一种面向对象的编程语言,其语法更加简洁易懂,支持自动垃圾回收机制,而C++则是一种面向对象和面向过程的编程语言,其语法相对较为复杂。
2. 平台:C#是微软公司开发的一种编程语言,主要运行在.NET Framework平台上,而C++则可以运行在多种平台上,包括Windows、Linux、Mac等。
3. 编译方式:C#是一种解释型语言,其代码在运行时会被即时编译成机器码执行,而C++则是一种编译型语言,其代码需要在编译时被转换成机器码后才能执行。
4. 内存管理:C#支持自动垃圾回收机制,可以自动管理内存,而C++需要手动管理内存,需要程序员自己负责内存的分配和释放。
5. 应用场景:C#主要用于开发Windows桌面应用程序、Web应用程序和游戏开发等,而C++则广泛应用于操作系统、游戏引擎、嵌入式系统、高性能计算等领域。总之,C#和C++都有各自的优点和适用场景,程序员可以根据自己的需求和实际情况选择合适的编程语言。C#不支持多重继承,这是与C++明显区别的地方。在标准的C#安全代码中不支持指针类型的操作。C#中所有对象都只能通过关键词“new”来创建,C++的“类名_对象名”方式在C#中变为声明一个引用。在C#里面,数组的元素都是存放在托管堆里面,比起C++的在内存里不确定位置申请一块连续空间要安全得多。
企业级的游戏开发的话,一般C++多一些,大型游戏要求足够高的运行效率,而JAVA,C#在这一方面是短项,而用C的话又没有类,所以C++开发的游戏比较多,如果是想进游戏公司的话,多学学C++。
但是如果是个人开发小型游戏的话,建议用C#,小型游戏不需要考虑效率问题,C#足以应付,微软有个东西叫XNA,专为业余的程序员开发小型游戏而设计,上手简单,微软提供了大量的类库,用起来很便捷。
如果是开发android的游戏的话,没得选,只能用JAVA。
貌似也有用delphi开发的游戏,不过听说不是主流。
其实语言不是重点,任何语言都可以做游戏,只是各个语言各有特点,根据需求的不同选择最适合的语言。关键在于算法要理解,理解程序的构架,研究透算法,才是最重要的。
学习的时候建议以C++来学习,用JAVA或者C#的话学不到指针,用C的话学不到面向对象的思想。不过如果没有任何语言基础的话,建议还是从C学起,先学会最基础的东西再学C++。VB现在已经很少用了,实在没学的必要。
推荐教材《VisualC++游戏编程基础》
如果只是想做个小的东西玩玩的话,有很多方便的软件,比如《RPGmaker》,用这些东西不需要什么编程的基础就能做一些小的东西,玩玩足以。
C#和C++是两种不同的编程语言,它们有以下几个方面的区别:
1.语法:C#是一种面向对象的编程语言,其语法更加简洁易懂,支持自动垃圾回收机制,而C++则是一种面向对象和面向过程的编程语言,其语法相对较为复杂。
2.平台:C#是微软公司开发的一种编程语言,主要运行在.NETFramework平台上,而C++则可以运行在多种平台上,包括Windows、Linux、Mac等。
3.编译方式:C#是一种解释型语言,其代码在运行时会被即时编译成机器码执行,而C++则是一种编译型语言,其代码需要在编译时被转换成机器码后才能执行。
4.内存管理:C#支持自动垃圾回收机制,可以自动管理内存,而C++需要手动管理内存,需要程序员自己负责内存的分配和释放。
5.应用场景:C#主要用于开发Windows桌面应用程序、Web应用程序和游戏开发等,而C++则广泛应用于操作系统、游戏引擎、嵌入式系统、高性能计算等领域。
总之,C#和C++都有各自的优点和适用场景,程序员可以根据自己的需求和实际情况选择合适的编程语言。
C#不支持多重继承,这是与C++明显区别的地方。在标准的C#安全代码中不支持指针类型的操作。
C#中所有对象都只能通过关键词“new”来创建,C++的“类名_对象名”方式在C#中变为声明一个引用。
在C#里面,数组的元素都是存放在托管堆里面,比起C++的在内存里不确定位置申请一块连续空间要安全得多。