文章目录
?C++简述C++融合了3种不同的编程方式:C++和C语言关系是啥呢?C++标准 ?C++应用?C++语言优点第一个C++程序 ?命名空间?命名空间的使用命名空间的定义 ?怎么使用命名空间中的内容呢?1. 直接使用完全限定名2. 使用`using`声明3. 使用`using`指令4. 嵌套命名空间使用注意事项命名空间的作用域
?C++简述
与C语言
一样,C++
也是在贝尔实验室诞生的,Bjarne Stroustrup于1979年首次推出,C++是一种高级编程语言,它是在C语言的基础上发展而来,融合了面向对象的思想。它的特点是高效、低级和面向对象。
在C++的发展历程中,最为重要的里程碑是C++11标准的发布。C++11版本增加了许多现代化的特性,例如类型推断、lambdas表达式、移动语义、多线程支持等,大大提高了C++的编程效率和效果。
C++被广泛应用于游戏开发、图形图像处理、嵌入式系统等领域。例如腾讯公司就广泛使用C++来开发游戏引擎、QQ客户端等产品。C++也是Linux内核和Windows系统的主要实现语言。
在编程界,C++已经有40多年的历史,尽管时代不断变迁,但C++依然是系统级和高性能领域的首选语言之一。它在各大编程语言排行榜上长期位居前茅,被众多科技巨头广泛应用。
C++融合了3种不同的编程方式:
C语言代表的过程性语言C++在C语言基础上添加的类代表的面向对象语言。C++模板支持的泛型编程。C++和C语言关系是啥呢?
C++语言
是在C语言基础上,添加了面向对象,模板等现代程序设计语言的特性而发展起来的。两者无论是从语法规则上,还是从运算符的数量和使用上,都非常相似,所以我们常常将这两门语言统称为“C/C++
”。
注意:C语言
和C++
并不是对立的竞争关系:
C++是C语言的加强,是一种更好的C语言。
C++是以C语言为基础的,并且完全兼容C语言的特性。
C++标准
这里是关于C++
程序可移植性的标准:
一、是否需要修改代码
如果一个C++
程序满足以下条件,则在重新编译后可以在新平台直接运行,无需修改源代码:
程序只调用标准C++
语言元素和标准库功能,不依赖任何特定平台的库或API
。
程序不直接访问硬件,不依赖特定的指令集或CPU架构。
程序遵循当前ISO
标准的C++
语言规范和标准库定义。
二、实现可移植性的两个关键点
硬件依赖性:如果程序直接访问硬件或依赖特定的指令集,则不具有良好的移植性。
语言实现的一致性:不同平台下编译器对C++
标准的实现应保持一致,以确保可移植性。
三、C++
标准的制定与发展
ANSI
和ISO
联合委员会从1990年开始制定统一的C++标准。
最早的标准ISO/IEC 14882:1998为C++
奠定了基础。
后续标准不断修订和增强语言功能,但保持向下兼容。
标准库提供跨平台的接口,有助于提高程序的可移植性。
如果遵循标准,理论上程序可以在任何支持该标准的平台上通过重新编译直接运行。
以上就是关于C++
程序可移植性的一些基本标准和原则。如果满足这些条件,则可以实现跨平台良好的可移植性。
如果你想了解C++
标准有关版本,可以看看以下:
C++98标准:发布于1998年,这是C++语言的第一个正式标准版本。
C++03标准:发布于2003年,主要是对C++98标准的一些细微修改和补充。
C++11标准:发布于2011年,这是一个重要的标准版本,增加了许多新的语言特性,如auto类型推导、lambda表达式、智能指针等。
C++14标准:发布于2014年,基于C++11标准进行了一些增强,如常量表达式、二进制字面量等。
C++17标准:发布于2017年,主要新增了模块化支持、 paralle programming支持等新特性。
C++20标准:发布于2020年,主要新增了范围for循环、概括模板、可变参数模板等功能。
…
?C++应用
腾讯超级喜欢C++
开发? 作为互联网巨头之一的腾讯,一向都是众多游戏公司和科技企业的风向标
腾讯的历史原因 1998年,腾讯成立之初主要开发BBS论坛系统,当时常用的开发语言有PHP
、ASP
等脚本语言以及C/C++两
种编程语言。由于需要开发游戏等产品,出于性能考虑,腾讯最初选择了C/C++
来开发。
随着业务的扩展,腾讯游戏业务迅速发展,需要支持3D图形等游戏引擎,这就决定了必须选择C/C++
这种低级语言来开发。从此,C/C++
成为腾讯主打的技术方向。
腾讯发展的必然选择 经过20多年的发展,腾讯游戏和IT技术团队已经有数以万计的C/C++
开发人员,在游戏引擎和系统开发等领域有着非常深厚的技术积累。
目前腾讯的QQ客户端、