为什么许多人都把C++当做C来使用?是不会用C++,还是其他什么原因?
发布网友
发布时间:2024-10-08 19:06
我来回答
共3个回答
热心网友
时间:2024-10-08 19:09
我来说说我的理解。
C++适合于写一些需要人机交互的应用程序,通过使用MFC等封装了界面API的类库来较好的实现用户操作的及时响应。
而c语言,一个是效率较c++高一些,另外一点就是其超棒的可移植性。是c++不能比拟的。
通过使用c语言实现逻辑部分,界面部分通过网页来,如ASP等实现人机交互。
对于不需要人机交互(或者非常简单的人机交互)的程序当然使用c语言是首选。
这也不是说c++没有用武之地。c++所超越c的三大特性:多态、继承和封装是c没有的。另外还包含STL和boost等库。真正的c++代码逻辑清晰,代码阅读性可扩展能力强。这都是c不能比拟的。
我看很多初学者学c++,都没有接触到STL标准库,真是非常大的损失。
对于你提的代码问题
1. 直接doSomething2{}定义的函数其默认返回值是int,等价于int doSomething2{}。
2. void main()是c的用法,在一些c++编译器上都不能通过编译,建议就使用int main(){} + return 0组合,可移植性强。return 0给操作系统表明程序正常执行。
3. ::用法有3种。全局作用域,类作用域和名字空间作用域。这里是全局作用域,表明调用全局的doSomething函数。为什么呢?因为你可以再main函数里重新定义个int doSomething()局部函数,并调用。通过使用全局作用域能正确区分,且可读性强。
如有不对的地方,请指教。大家交流共同进步就好了。
热心网友
时间:2024-10-08 19:10
其实主要还是没有掌握c 的精髓。因为很多人都是从c语言中转过来的,那些人对面向对象的概念不深,设计代码时几乎没怎么考虑面向对象的事,所以这样的c 就跟c差不多了。其实不光是c ,写Java时都是c语言的特点。
再一个就是没有掌握c 的高级语法,比如多态性,没有这些c÷ 独特的东西,代码看起来自然就是用类封装的c了
热心网友
时间:2024-10-08 19:08
看程序执行代码次数,还有时间复杂度、空间复杂度。