C++、C#语法结构优缺点、适用的场合及发展态势

最好能举实例,谢谢~
HAL9000PLUS哥哥,能给个实例和解析吗?加分~

0分。唉。

C++与C#在语法上差不多。

C++更面向物理机器,需要自己处理内存的使用问题,对程序员的保护少,但是限制也少,有指针功能,可以OOP。由于底层,可以实现任何功能。但是容易出错,不容易掌握。

C#更面向应用级的问题,需要在.net平台上才能编译和运行。有垃圾内存内集机制,程序员可以不关心内存的管理,专心于逻辑的实现。但C#也可以利用unsafe代码来处理指针。
另外,.net也提供了大量已经写好的类库,用于封闭操作系统功能,可供C#使用。

C++目前用于面向OS的基础api应用,而C#目前主要用于各种应用级的方案开发,如网站,应用程序。

0分。唉。

-----------------------
关于内存管理的例子, 如一个双链表的实现:

C++:

class LINKNODE
{
public:
LINKNODE *pPrev ;
LINKNODE *pNext ;

void *pData;

public:
inline void LINKNODE();
};

void LINKNODE::LINKNODE()
{
this->pPrev = null;
this->pNext = null;
}

main()
{
// 创建第一个节点
CString s = "hello";
LINKNODE *pHead, *pNode;
pNode = new LINKNODE;
pNode->pDate = &s;
pHead = pNode;

// 加一个节点。
pNode->pNext = new LINKNODE;
pNode->pNext->pPrev = pNode;
pNode->pNext->pData="abcde";

...

// 销毁对象,回收内存
LINKNODE p = pHead;
while(p != null)
{
delete p->pData; // 自己回收内存
LINKNODE pTmp = p->Next;
delete p; // 同上。
p = pTmp;
}

}

--------------------------------------
C#:
class LINKNODE
{

public LINKNODE Prev ;
public LINKNODE Next ;

public object oData;

public LINKNODE()
{
this.Prev = null;
this.Next = null;
}
}

main()
{
// 创建第一个节点
string s = "hello";
LINKNODE Head;
LINKNODE Node = new LINKNODE();
Node.oDate = s;
Head = Node;

// 加一个节点。
Node.Next = new LINKNODE();
Node.Next.Prev = pNode;
Node.Next.oData = "abc";

// ...

// 销毁时,只需要直接给个null就完了,甚至,连null也不给,忘记了这事就行了。

pHead = null;

------------------------
以上例子,在.net里有内置类List来实现。如:

List<Object> lst = new List<Object>();
lst.Add("Hello");
lst.Add("abc");

...
lst.Clear();

}
温馨提示:内容为网友见解,仅供参考
无其他回答

C、C++、C#这几个语言有什么异同点?有什么优点和缺点
总的来说,语法上有很多类似之处 其中C是最早的,结构化的程序设计语言,不支持面向对象的特性 C++是在C上发展出来的.几乎是大部分的C原程序(ANSI C标准以内的,比如不使用TC的图形库,不调用系统中断等等)在C++编译器上都能编译通过,少数不通用(好像包括什么主函数是否允许递归之类的).C++有面向对象的...

c++和c#各有什么优缺点?
易用性:C#是一种面向对象的编程语言,语法简单易学,开发环境友好,适合初学者快速上手。安全性:C#具有垃圾回收机制和异常处理机制,可以有效地减少内存泄漏和程序崩溃的问题。跨平台性:C#也可以跨平台运行,特别是在使用.NET Core框架后,可以在不同的操作系统上运行。C#的缺点:性能:虽然C#的性能已...

C语言、C++与C#的不同点与相同点,各自的适用性
3)C++与C#适合软件程序开发而且方便快捷,界面都是可以现成的,你一个人就很容易做出一个软件来,而C语言比较适合底层开发,效率比较高,一个大型的软件或者操作系统的底层需要C语言编写,比如Linux操作系统基本都是C语言的代码写出来的,windows也不例外的。4)学习的建议,从C语言开始学习,然后选C++或者...

c、c++、c#到底有什么区别?
而C++不仅包含了C语言的基础特性,还增加了类和对象的概念,支持面向对象编程的各种特性如继承、封装和多态等。C#的语法则更加简洁,支持垃圾回收机制自动管理内存,并且内置了对网络编程和数据库操作的强大支持。

C语言、C++、C#三者之间的区别和分别作用于哪些领域?
C语言是面向过程的语言,适应结构化编程。面向对象编程兴起之后,Bjarne等人在C语言上添加了类等功能,产生了C++。C++继续发展,成了多范型的编程语言(过程、对象、泛型、元编程),变得非常复杂。面向组件的编程兴起之后,C++难以适应快速开发的需要,同时面临着Java的威胁。2001年微软推出了全新的语言C#,...

仅从语法角度来讲,C#和C++哪个更优雅
1、 效率方面:C++注重运行效率,如果对实时性有较高要求,首选C++\/C语言。C#写成的代码,都是先被编译成中间语言(IL,Intermediate Language,在运行时,再由即时编译器(JIT,Just-In-Time)编译成本机代码,所以实时性上少欠一筹。2、依赖性:C++可以生成native(本地代码),不用依赖于.net ...

java、C#、C++优缺点是什么?都适合做哪些东西或项目?谢谢
1.jave跨平台度高。被oracle收购以后,java+oracle在linux或者是unix环境下性能可以最大话利用。2.c#微软的出品,所以必然是win下配合sqlserver.但是win内核限制等.瓶颈有。但是在入门级和开发效率上他是最快捷的。因为框架的原因,效率暂时很难有大的突破。不过据说最新的.net4.5提升很明显。3.c++,高性能...

编程语言:C++和C#,哪个更适合开发大型游戏?
C++可能是更好的选择;如果是为了快速开发和迭代,C#和Unity的组合可能更为合适。总之,C++和C#各有其适用场景和优缺点。选择合适的游戏开发语言,需综合考虑多种因素,以达到最优的开发效果。对于学习者而言,了解和掌握C++和C#的基础知识,对游戏开发工作具有重要意义。

C语言、C++、C#三者之间的区别和分别作用于哪些领域?
C语言是面向过程的语言,适应结构化编程。面向对象编程兴起之后,Bjarne等人在C语言上添加了类等功能,产生了C++。C++继续发展,成了多范型的编程语言(过程、对象、泛型、元编程),变得非常复杂。面向组件的编程兴起之后,C++难以适应快速开发的需要,同时面临着Java的威胁。2001年微软推出了全新的语言C#,...

C#与C++ 各有什么特点,二者的发展前景如何
如果说特点的话,C++语法特丰富(允许我用"丰富"这个词),而且 啥都有,啥都有,啥都有(重要的事情说三遍)所以大家常说精通C++是很难的,因为C++的作者本人并不喜欢一个编程语言有太多的约束,所以C++有 面向过程编程,面向对象编程,函数式编程...再来说说C 之所以说它想要代替Java,因为它有着和Java差...

相似回答