C++语言与其他语言的区别

开发 后端
在准标准C++中,有关缺省变量值的限制非常模糊。基于此,很多编译器允许开发人员将缺省变量值包含在函数声明,指向函数的指针和引用,成员函数的指针,以及typedef声明中。

本文着重进行对C++语言来说,在语法上要简单得多,因此初学者很容易上手。二者抛弃了最容易引起问题的指针,对内存的管理完全自动化,这样虽然带来了程序的稳定性和安全性。

提示:因为内存管理自动化,C#、Java语言拥有垃圾自动回收机制,在C++中,申请的内存必须由程序员自己手动释放,如果忘记这一点就会引起内存泄露。C++丰富的语言特性在一定程度上弥补了如下不足:
◆部分C++库拥有内存管理机制,如STL、Boost等。
C++拥有智能指针。
◆某些C++库实现了垃圾回收功能。
◆1.1.3  是否跨平台

Java的程序是运行在虚拟机上(Virtual Machine)的,而C++不是,C++程序的代码是直接运行在物理机器上的。就Java和C#二者单独来看,C#更像是微软公司和SUN公司进行商业斗争的产物。历史上,微软公司是支持过Java语言的,代表性的产品有Visual J++和WFC。后来因为众所周知的原因,微软公司推出了C#,其目的很明确,就是和Java竞争。

实际上C#和Java在特性上也非常类似(不仅仅是语法)。二者都是为了更加方便地解决应用问题,在GUI、数据库访问、网络通信、多线程等和实际应用密切相关的点上都有成熟的解决方案。

C++语言更多地靠第三方的库来实现这些功能,因为C++是一个国际标准,要在C++中加入这些语言之外的、面向应用的特性还需要很长一段路要走。而C#、Java的拥有者是商业化公司,各种动作自然要敏捷得多。

但是这并不意味着C++即将消亡(这样的言论很多)。不可否认的是C++在C#、Java的进攻下,丢失了一些领域,但是C++仍然在普遍使用,很重要的原因就是因为C++既保持了C++语言级别的效率(某些情况下例外),又加入了面向对象的特性。

【编辑推荐】

  1. 如何正确编写C++项目开发编写项目计划书
  2. 对C++库函数进行学习探索总结笔记
  3. 深度演示C++语言的种种高安全性
  4. 详细介绍如何准确无误的编写C++语言
  5. 深度演示C++语言的种种高安全性
责任编辑:chenqingxiang 来源: 天极
相关推荐

2010-03-11 15:16:52

Python编程语言

2022-07-01 11:56:54

C语言C++编程语言

2012-12-11 09:16:07

Go

2010-01-15 17:38:37

C++语言

2020-12-02 09:51:06

C++语言学习

2012-08-17 10:59:08

IBMdW

2010-01-21 16:24:02

C++语言

2023-12-30 11:01:19

C语言C++编程

2010-01-22 15:30:36

C++语言

2010-01-22 10:26:40

C++语言

2010-01-14 10:34:02

C++语言

2010-01-26 10:27:43

C++语言

2010-01-13 17:04:36

C++语言

2010-01-14 10:23:08

C++语言

2010-01-25 15:09:17

C++语言

2011-01-05 11:12:34

C++

2011-08-25 10:24:27

Lua

2010-01-15 19:17:48

C++语言

2010-01-14 18:02:05

C++语言

2010-01-26 10:01:17

学习C++
点赞
收藏

51CTO技术栈公众号