h***i 发帖数: 427 | 1 老有人问我程序用什么遍地,偶就说是c。C++和C还有大区别否?》 |
r*******y 发帖数: 290 | 2 simple: C is a subset of C++
complex:C++ is far more complex than C, design patterns are different
【在 h***i 的大作中提到】 : 老有人问我程序用什么遍地,偶就说是c。C++和C还有大区别否?》
|
b********n 发帖数: 609 | 3 麻烦您拿C的nacro给我写个templated metaprogram吧,linked-list在compile-time的
sorting function。
【在 h***i 的大作中提到】 : 老有人问我程序用什么遍地,偶就说是c。C++和C还有大区别否?》
|
v*********o 发帖数: 5 | 4 C++是C的超集,也可以说C是C++的子集。
C++增加了C不具有的关键字。这些关键字能作为函数和变量的标识符在C程序中使用,尽
管C++包含了所有的C,但显然没有任何C++编译器能编译这样的C程序。
C程序员可以省略函数原型,而C++不可以,一个不带参数的C函数原型必须把void写
出来。而C++可以使用空参数列表。
C++中new和delete是对内存分配的运算符,取代了C中的malloc和free。
标准C++中的字符串类取代了C标准C函数库头文件中的字符数组处理函数。
C++中还增加了bool型变量和wchar_t型变量
C++中用来做控制态输入输出的iostream类库替代了标准C中的stdio函数库。
C++中的try/catch/throw异常处理机制取代了标准C中的setjmp()和longjmp()函数。
在C语言中,输入输出是使用语句scanf()和printf()来实现的,而C++中是使用类来实现
的。
c++中引入了安全的类型转换机制
C++函数的原型中可以声明一个或多个带有默认值的参数。如果调用函数时,省略了相应
的实际参数,那么编译
【在 h***i 的大作中提到】 : 老有人问我程序用什么遍地,偶就说是c。C++和C还有大区别否?》
|
y*******g 发帖数: 6599 | 5 没看到template?
,尽
void写
【在 v*********o 的大作中提到】 : C++是C的超集,也可以说C是C++的子集。 : C++增加了C不具有的关键字。这些关键字能作为函数和变量的标识符在C程序中使用,尽 : 管C++包含了所有的C,但显然没有任何C++编译器能编译这样的C程序。 : C程序员可以省略函数原型,而C++不可以,一个不带参数的C函数原型必须把void写 : 出来。而C++可以使用空参数列表。 : C++中new和delete是对内存分配的运算符,取代了C中的malloc和free。 : 标准C++中的字符串类取代了C标准C函数库头文件中的字符数组处理函数。 : C++中还增加了bool型变量和wchar_t型变量 : C++中用来做控制态输入输出的iostream类库替代了标准C中的stdio函数库。 : C++中的try/catch/throw异常处理机制取代了标准C中的setjmp()和longjmp()函数。
|
v*********o 发帖数: 5 | 6 觉得说下C中有的部分就可以了吧...木有的部分,显而易见啊....
【在 y*******g 的大作中提到】 : 没看到template? : : ,尽 : void写
|
x*********l 发帖数: 594 | 7 zan
,尽
void写
【在 v*********o 的大作中提到】 : C++是C的超集,也可以说C是C++的子集。 : C++增加了C不具有的关键字。这些关键字能作为函数和变量的标识符在C程序中使用,尽 : 管C++包含了所有的C,但显然没有任何C++编译器能编译这样的C程序。 : C程序员可以省略函数原型,而C++不可以,一个不带参数的C函数原型必须把void写 : 出来。而C++可以使用空参数列表。 : C++中new和delete是对内存分配的运算符,取代了C中的malloc和free。 : 标准C++中的字符串类取代了C标准C函数库头文件中的字符数组处理函数。 : C++中还增加了bool型变量和wchar_t型变量 : C++中用来做控制态输入输出的iostream类库替代了标准C中的stdio函数库。 : C++中的try/catch/throw异常处理机制取代了标准C中的setjmp()和longjmp()函数。
|
l****g 发帖数: 761 | 8 好多年以前我以为C++是C的 superset
结果被一些prof狂鄙视
最后结论是
基本上 C++ 和 C 是完全不同的语言
(这个是从设计思想上说的, 不是仅仅是多个函数库什么的
也就是说, 写C程序的模块思路根本在C++里面不应该被使用 )
只是 C++ 保留了一些关键字来兼容 C
当然, 没有鄙视楼上各位的意思
因为这两个语言我都不常用, 其实没啥发言权 |
f*******y 发帖数: 988 | 9 基本上一致认为这是不同的语言
一般来说大量的使用模板,异常,多态、继承才会被认为是c++程序
【在 h***i 的大作中提到】 : 老有人问我程序用什么遍地,偶就说是c。C++和C还有大区别否?》
|
d***q 发帖数: 1119 | 10 you don't need to use template to develop your app. c++ supports different
ways to accomplish your task |
|
|
f*******y 发帖数: 988 | 11 严格来说c++是多范型的,你就算用c写一个过程式的程序也可以算c++程序
不过practice中你在简历上写会c++,人家都assume你会点继承啊模板啊啥的
【在 d***q 的大作中提到】 : you don't need to use template to develop your app. c++ supports different : ways to accomplish your task
|
w******p 发帖数: 166 | 12 C++ = C + Objective C + templates + STL |
c********x 发帖数: 84 | 13 C is precedure oriented , C++ object oriented. |
t****u 发帖数: 8614 | 14 your prof is right.
C focuses on verb, made by functions.
C++ focuses on noun, made by objects,
They have totally different concepts to write code.
【在 l****g 的大作中提到】 : 好多年以前我以为C++是C的 superset : 结果被一些prof狂鄙视 : 最后结论是 : 基本上 C++ 和 C 是完全不同的语言 : (这个是从设计思想上说的, 不是仅仅是多个函数库什么的 : 也就是说, 写C程序的模块思路根本在C++里面不应该被使用 ) : 只是 C++ 保留了一些关键字来兼容 C : 当然, 没有鄙视楼上各位的意思 : 因为这两个语言我都不常用, 其实没啥发言权
|
f*****Q 发帖数: 1912 | 15
Objective C的语法更像smalltalk而不是C。至于Objective C2.0,差别就更大了。
【在 w******p 的大作中提到】 : C++ = C + Objective C + templates + STL
|
T*******x 发帖数: 8565 | 16
C++抽象出object的概念,
为了方便的利用这个概念,语言的设计也有相应调整。
其余的没什么区别。当然这个区别也不小。
我们考虑真实世界中的问题是如何解决的吧。
首先是自顶向下的设计思想,这个是C/C++共有的,也是一切语言都必须共有的。
然后C++的方法是,把任务分配给各个职能部门----object,
职能部门要完成各种各样的功能,这又需要自顶向下的设计思想,
然后再分配给小的职能部门,就这样交替运用。
而C的方法是自顶向下一贯到底直到细枝末节。
object-oriented的概念存在于设计思想中,
清晰的提出这个概念,理论就上了一个台阶。
有了这个思想,用C也可以写出oo的程序。
【在 h***i 的大作中提到】 : 老有人问我程序用什么遍地,偶就说是c。C++和C还有大区别否?》
|