C++是一种面向对象的计算机程序设计语言,由美国AT&T贝尔实验室的本贾尼·斯特劳斯特卢普博士在20世纪80年代初期发明并实现,最初它被称作“CwithClasses”(包含类的C语言)。[1]它是一种静态数据类型检查的、支持多重编程范式的通用程序设计语言,支持过程化程序设计、数据抽象、面向对象程序设计、泛型程序设计等多种程序设计风格.C++是C语言的继承,进一步扩充和完善了C语言,成为一种面向对象的程序设计语言。
在C基础上,一九八三年又由贝尔实验室的BjarneStrou-strup推出了C++。C++进一步扩充和完善了C语言,成为一种面向对象的程序设计语言。C++目前流行的编译器最新版本是BorlandC++4.5,SymantecC++6.1,和MicrosoftVisualC++2012。C++提出了一些更为深入的概念,它所支持的这些面向对象的概念容易将问题空间直接地映射到程序空间,为程序员提供了一种与传统结构程序设计不同的思维方式和编程方法。因而也增加了整个语言的复杂性,掌握起来有一定难度。C++由美国AT&T贝尔实验室的本贾尼·斯特劳斯特卢普博士在20世纪80年代初期发明并实现(最初这种语言被称作“CwithClasses”带类的C)。开始,C++是作为C语言的增强版出现的,从给C语言增加类开始,不断的增加新特性。虚函数(virtualfunction)、运算符重载(OperatorOverloading)、多重继承(MultipleInheritance)、模板(Template)、异常(Exception)、RTTI、命名空间(NameSpace)逐渐被加入标准。
C语言本身是无法直接控制外设的。但可以通过各种应用编程接口(api),间接调用外部设备。例如opencv库。OpenCV的全称是:Open Source Computer Vision Library。OpenCV是一个基于(开源)发行的跨计算机视觉库,可以运行在Linux、Windows和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。OpenCV用C++语言编写,它的主要接口也是C++语言,但是依然保留了大量的C语言接口。该库也有大量的Python, Java and MATLAB/OCTAVE (版本2.5)的接口。这些语言的API接口函数可以通过在线文档获得。如今也提供对于C#,Ch, Ruby的支持。
例程:<pre t="code" l="cpp">#include "cv.h"
#include "highgui.h"
int main(int argc, char** argv) {
cvNamedWindow("win")
CvCapture* capture = cvCreateCameraCapture(0) //创建并获取摄像设备
IplImage* frame
while(1) {
frame = cvQueryFrame(capture) //创建并获取一张摄像截图
if(!frame) break //如果失败终止循环
cvShowImage("win", frame) //在一个"win"窗口,并当中显示该截图
char c = cvWaitKey(50)
if(c==27) break
}
cvReleaseCapture(capture) //释放摄像设备
cvDestroyWindow("win") //释放窗口"win"
return 0
}</ol>