【------------CSHARP和C++的区别?------------------------】

大纲007 2011-04-23 04:19:14
汗颜地问高手们个弱问题,C++的功能是否完全属于CSHARP功能的子集?
这么问,是因为我既喜欢偏硬件的开发,也想学习CSHARP。所以希望可以只学一种语言,不然我就要学习两种语言了。
谢谢懂行的高手指点!万谢!
...全文
2075 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
工程师WWW 2011-05-02
  • 打赏
  • 举报
回复
会c的没几个会c++,会c++的都会c,但编程思维不一样,所以不是说
c++编程的人一定能把c编好。
工程师WWW 2011-05-02
  • 打赏
  • 举报
回复
c++是c的超集,这是对的,但c++和c#完全是两种语言,不兼容。c#和java是一层次的语言。
c++比c#强大,但门槛更高,薪水更高。
大纲007 2011-04-24
  • 打赏
  • 举报
回复
我是LZ,谢谢大家的帮助!虽然分数有限,我心领了!
小case 2011-04-23
  • 打赏
  • 举报
回复
这个我最有发言权,学校学过了C(最基本的),后来好几次自学C++,从VC++6.0学到VS2005都没学会,后来看到VS2005 C#,有点兴趣了,到VS2008开始学,居然还业余做了几个小网站和软件骗了点钱花花,所以C#特别适合懒人和笨笨的人学,哈哈哈(不是说那些C#高手哦)
v风雪山神庙v 2011-04-23
  • 打赏
  • 举报
回复
可以说
青出于蓝而胜于蓝

C#在绝大多数应用上优于C/C++,开发效率比他爸他爷快,而且背后还有个Microsoft撑腰,是微软平台开发的主流。
但一到底层开发,涉及到性能效率,C#就比不过他爸他爷了。

其实,选择学哪一个语言并不重要。你工作后所使用的语言并不一定是你学过的,很多情况下项目用哪种语言你就得现学这种语言。

重要的是,理解语言的基本(变量,表达式,函数,三种控制结构等等),编程思想(面向对象,事件驱动),基本的算法等等

v风雪山神庙v 2011-04-23
  • 打赏
  • 举报
回复
说点有意思的

C是C++爸爸,是C#的爷爷

C++之所以在C之后加“++”符号,来源于C语言中“++”运算符.
C#之所以在C之后加“#”符号,因为在乐谱中,“#”表示升调,“#”加在C之后,表示是对C/C++的升级.
hushluo 2011-04-23
  • 打赏
  • 举报
回复
语言都有共通之处,学了一门语言后,学另外一门其实并不难
Lactoferrin 2011-04-23
  • 打赏
  • 举报
回复
c#不适合搞底层开发
叶子 2011-04-23
  • 打赏
  • 举报
回复
isjoe 2011-04-23
  • 打赏
  • 举报
回复
C#是一门新的开发语言,自然集众多语言优点而一身(有抄袭之嫌),理论和实际上可以跨平台,
之所以最终选择了C++语法,是因为C++语法本身面向对象的特点和C语系语法使用非常广泛可以快速被大部分
开发人员所接受.
int64 2011-04-23
  • 打赏
  • 举报
回复
C#=(C++)++
threenewbee 2011-04-23
  • 打赏
  • 举报
回复
C++和C#是完全不同的语言。C++不是C#的子集,C#也不是C++的子集。

C#是一种面向.NET虚拟机中间代码(IL)的语言,所以C#不适合开发硬件驱动程序。最初,C#是仿照Java创立的。

随着C#的发展,C#和Java,和C++越来越远。

C#相比C++来说,语法简洁,并且更加符合现代编程语言的特征。

C++的一个主要设计目标是最大程度的兼容C语言编译器。所以,全局变量、宏、预处理关键字等等都保留了下来。

C#完全面向对象,并且不使用指针。C#从语言设计之初,就抛弃了C++繁琐和容易出错的语法,比如:
if (i = 2) ...
在C++里面,可以编译,但是在C#里,无法编译。因为大多数情况下,程序员试图表达的是 if (i == 2)
再比如:
switch (i)
{
case 1:
i++;
case 2:
i += 2;
}
在C++里面,可以编译,当i=1,则会贯通两个分支,在C#里,会报错。

C++里,指针是一个非常灵活的特性,但是也非常容易出错,在C#里,不使用指针。

C++里,一个对象创建之后,程序员负责回收:
Class1 *p = new Class1();
...
delete(p);

C#里,垃圾回收器会自动回收不用的对象。

C#支持泛型,从语法的角度看,很类似C++的模板,但是 C# 泛型类型替换是在运行时执行的。同样,C# 泛型语法得以简化。

C#支持委托,C#的委托实现了安全的回调机制,在C++里面,使用的是函数指针——函数指针指向哪里,就会运行到哪里,如果指针指向的地址和程序员的预期不一致(比如黑客构造了一段代码,并且让指针指向那里),程序就存在潜在的风险。

C#从2.0开始,逐渐远离了Java,事实上,到C# 4.0,C#已经从Visual Basic,函数式编程语言、查询语言、动态脚本语言上吸取了很多优点。
大纲007 2011-04-23
  • 打赏
  • 举报
回复
期待细节
xuzysun 2011-04-23
  • 打赏
  • 举报
回复
2楼做广告!!
kingdom_0 2011-04-23
  • 打赏
  • 举报
回复
C++学好了,我认为一切都不是问题了。

110,549

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧