C++概况
目前业界还没有可以替换C++的语言出现。
CPP的历史
-
C++编程语言的历史可以追溯到1979,Bjarne Stroustrup创立了带类的C.顾名思义,这是C语言的超集;在1983年,语言的名字真正的编程了C++;
-
C++在最开始可以称为C语言的增强版,但是在后来,C++又引入了许多新的功能,逐步增强了C++的可用性,1998年伴随着STL标准库的诞生,一堆新的功能和特性的产生,C++标准委员会发布了第一个国际标准C++ + ISO/IEC 1488 :称为C++98;
-
在2011年中期,C++标准(称为C++11)完成了新的标准。Boost库项目对新标准产生了相当大的影响,一些新模块直接从响应的Boost库中派生出来。
-
C++11之后,C++以每3年一版的频度发布着新的语言标准,每一版都在基本保留向后兼容性的同时,提供着改进和新功能。
CPP VS C
- 当C++被作为C语言的超集时,有什么是C++语言可以做到而C语言不擅长的?
// CPPDemo1.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include "stdio.h"
// C面向过程的方式
static int noisy = 0; // 状态信息
static FILE* pFile = NULL; // 文件指针
void trace(char* s)
{
if (noisy)
fprintf(pFile, "%s\n", s);
if (!pFile) { fclose(pFile); pFile = NULL; }
}
void trace_on()
{
noisy = 1;
}
void trace_off()
{
noisy = 0;
}
// C++面向对象方式
class Trace {
public:
Trace() { noisy = 1; f = stdout; }
Trace(FILE* ff) { noisy = 1; f = ff; }
~Trace()
{
noisy = 0;
if (!f) { fclose(f); f = NULL; }
}
void on() { noisy = 1; }
void off() { noisy = 0; }
void trace(char* s) {
if (noisy)
{
fprintf(f, "%s\n", s);
}
}
private:
int noisy;// 状态信息
FILE* f;
};
int main()
{
// C面向过程的方式
FILE* f0;
fopen_s(&f0, "cppdemo0.txt", "w");
pFile = f0;
trace_on();
trace("hi1");
pFile = stdout;
trace("hi2");
trace_off();
pFile = f0;
trace("hi1");
pFile = stdout;
trace("hi2");
fclose(f0);
// C++面向对象方式
FILE* f;
fopen_s(&f, "cppdemo1.txt", "w");
Trace t1(f);
t1.trace("hi1");
Trace t2;
t2.trace("hi2");
t1.off();
t1.trace("hi1");
t2.trace("hi2");
return 0;
}
- C使用添加全局变量和全局函数来处理新增功能,C中功能扩展会比较困难;
- 面向对象可以使得对象和对象之间的变量的关系更紧凑。
CPP的特点
- 优点:
- 强大的抽象封装能力:这让C++语言具备了强大的开发工程的能力,在封装的同时C++最大程度的保留了性能;
- 高性能:运行快,并且占用资源少一直是C++语言的追求;
- 低功耗:特别适合在各种微型的嵌入式设备中运行高效的程序;
- 缺点:
- 语法相对复杂,细节比较多,学习曲线比较陡峭;
- 需要一些好的规范和范式,否则代码很难维护;
CPP的应用
-
大型桌面应用: Google Chrome和Microsoft Office等等
-
大型网站后台:Google的搜索引擎等等
-
游戏和游戏引擎:Unity等等
-
编译器、解释器:LLVM、JAVA虚拟机等等
-
视觉和智能引擎:OpenCV、Tensorflow等等
-
数据库:Sql Server、Mongodb等等
-
其他:自动驾驶系统、嵌入式设备等等文章来源:https://www.toymoban.com/news/detail-457220.html
总结
总的来说,C++开发成本比较高;对于内存和CPU要求很高,低功耗并且程序被调用非常频繁等场景,目前来说C++是最合适的语言。文章来源地址https://www.toymoban.com/news/detail-457220.html
到了这里,关于C++概况的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!