介绍一下C++创建一个对象 和 C#创建一个对象 有什么不同 分别举例

今天面试官问了我这样一个问题,我一下子蒙了~!? 我知道两个都可以用 new 但是不知道有什么不同
c++创建一个对像 C#创建一个对象 分别举例

默认的话,最显著的差别在于

C++ 中 new 创建的对象是开发者自己管理,需要自己释放内存

C# 中 new 创建的对象是虚拟机管理的,有 GC 负责垃圾内存回收

===================================================

c++ :

ClassA * pa = new ClassA;
...
delete pa; // 手动回收内存

C#:

ClassA a = new ClassA;
// 虚拟机管理,不需要自己动手
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-08-19
C#和C++比较大的不同是C#中,有GC来负责回收内存,而C++中要自己去写程序释放,如果C++中new了很多对象,但是去没有手动释放,那么会耗掉大量的内存的,直到你关闭程序,而且重启电脑后,掉电了,RAM才会得到释放。C++中new一个变量,用完后,就要相应地delete一下,同样在类中,有构造函数,也有析构函数,都是要用户来自己管理内存的。C#中则完全不用用户操心这样的事情。
第2个回答  2010-08-20
问题描述不清。

二楼C#代码部分写错ClassA a = new ClassA();
C#必须加括号。

简单一点的区别就如一楼,二楼所说,复杂一点的(考虑上类继承,子类销毁,虚析构函数等)区别就大了。那样的区别就比较深了,可参见《Effective C++》这本书。这本书的在线观看地址http://hi.baidu.com/tsingroo%B5%C4%CA%E9%B0%FC/blog/category/effective%20c%2B%2B 这是早期的一个版本,新版增加了5条,共55条。

C、C++和C#区别概述
C语言是不支持面向对象的,这也是它和C++的最大的区别。C是纯过程式(procedural)编程语言,而C++是既支持过程式又支持面向对象的混合编程语言。 以下是C和C++的其他不同点。 C++作为C的扩展,意味着它可以运行大部分C代码。但是反过来,C去运行C++的代码,就不行了。 作为一种面向对象的语言,C++支持多态(polymorphism...

在面向对象方面 C#和C++的主要区别
首先,编程语言都是相通的。不管学哪一门,结果都是一样的。一个程序员不可能只会一门语言;其次,任何一门语言,到了中高级的时候,基本上我觉得都差别不大的。因此,不要把时间浪费在选择编程语言上,应该尽快选择一门语言马上投入学习。再者,建议你学C++吧,毕竟学的人多,对其他语言很容易触类...

C++和C#的区别究竟是什么?
C++和C#作为两种重要的编程语言,它们之间存在显著的差异。首先,C#是面向对象的,强调可移植性、可维护性和稳定性,而C++则不是,它的设计更倾向于底层操作,对于需要直接与系统交互的项目,如驱动程序,C++是更好的选择。C#的构造和析构函数处理方式与C++不同。C++禁止在构造函数中调用另一个构造函数...

C++与C#的区别?
C++中的指针在带来强大的灵活性和高效的同时,也带了不少使用上的难题,C++程序中的绝大多数问题都来源于指针的不正确使用,C#出于软件安全性 的考虑和语言易用性的考虑没有指针。C#中实现自动垃圾回收,通过new在堆中创建对象,当对该对象的引用计数为0时回收内存。类有构造函数而没有析够函数。C#没...

C#与C++的异同,侧重相同点,面向过程与面向对象的异同点
1、C#和c++的库文件引入机制不同,一个是头文件,一个是命名空间,c#的命名空间灵活很多。2、c#的任何数据类型,不管是简单数据类型、结构体、类、接口、数组,都可以当作函数的返回值,c++却有的不行 ,c++很多东西只能返回指针,不能直接体现程序开发逻辑。举例c++里返回一个int数组,只能写成int*,...

c和c#和c++区别是什么?
1、C是完全面向过程的语言,用于开发规模较小的程序效率很高,但是程序较大,就显得代码量多,C++是半面相对象的,引入了类的封装性、继承性、多态性大大简化程序编写,提到了代码重用率,C#是完全面向对象的语言。2、C语言可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不...

c和c#和c++区别是什么?
区别是:1、语言使用难度不同 C++难度大于C#大于C语言。2、面向的对象不同 C 语言是面向过程的,而 C++ 是面向对象的,C# 是一种完全面向对象的语言。3、函数形式不同 C 语言有标准的函数库,它们松散的,只是把功能相同的函数放在一个头文件中;而 C++ 对于大多数的函数都是有集成的很紧密,特别...

C语言、C++、C#三者之间的区别和分别作用于哪些领域?
2001年微软推出了全新的语言C#,借鉴了C++和Java的语法并做了改进,使得C#成为了一们纯面向对象语言,比C++简洁,以适应组件编程的需要(.Net平台下)。应用上,C使用与对性能要求特别苛刻的场合,比如嵌入式系统、操作系统内核等。C++在性能和开发速度之间有一个平衡,比如Office、Photoshop等商业应用,都...

C++ C语言和C#有什么不同
所以如果要和硬件打交到,会使用到C。2、C++,C的升级。属于半面向对象的,不是纯面向对象。其实就加入了函数,过程,类。可以进行封装。3、C#是微软推出的一种语言。可以在.net集成开发环境中使用。现在经典的,高深一点的语言大体是2个方向,一为JAVA、然后到JAVA的升级版J2EE和J2SE。另一个方向就...

c和c#和c++区别是什么?
明确答案:C、C#和C++是三种不同的编程语言,它们在语言特性、用途和适用领域上存在显著区别。详细解释:1. C语言 C语言是计算机编程的基石之一,它提供了一种基础的、过程化的编程方式。它支持结构化编程,如函数、变量作用域等概念。C语言非常接近底层硬件,常被用于开发系统软件和底层库。由于其强大的...

相似回答