点击前往百度百科
C++是一种计算机高级程序设计语言,由C语言扩展升级而产生 ,最早于1979年由本贾尼·斯特劳斯特卢普在AT&T贝尔工作室研发。
应用范围主要有大型游戏、界面操作、Arduino相关、QT等。
常见的那几种是Notepad++、VS、Dev-C++、Xcode、VScode
我自己使用Dev-C++来编译认证些简单C语言或C++,或者是VScode写代码然后虚拟机Ubuntu编译(我主要是用这个方式,而且50例也是使用g++工具链编译的)
大家得有个清晰的认知:
C++是面向对象的
封装的形态格外突出,分门别类的思想特别深刻。举个例子:名称、肤色、体重、品种放在一起封装起来归类为属性,于是这个属性就可以用来形容狗、猫等宠物;然后猫、狗等动物也可以放在一起封装起来归类为某宠物店,于是这个宠物店就可以用来声明是哪个地方的宠物店;接着各不同地方的宠物店又可以封装起来归类为某个连锁公司......
C++是区分大小写的编程语言
红框圈出来的和C语言的用法基本一致,不赘述。
在C++中嵌入汇编语言,一般是用于寄存器操作
__asm{ mov al, 2 mov dx, 0xD007 out al, dx }
new是堆内存分配,类似于C语言的malloc;delete是堆内存释放,类似于C语言的free,见文章C++之1|从C到C++的例5-2
用于标识类成员,在名称重复情况起区分作用,见文章C++之2|类的声明与函数的例7-3
运算符重载,见文章C++之4|运算符重载
异常处理,见文章C++之6|多态与异常的例29
隐式构造,见文章C++之7|转换函数的例35
private常用于表示类的私有成员,public常用于表示类的公共成员,class用于创建类,protected用于表示类的保护成员
标准转换函数,见文章C++之7|转换函数的例30~33
用于模板特化,见文章C++之8|模板与特化
友元,见文章C++之3|静态成员与友元
常用表示情况如下
using namespace std;
见文章C++之4|运算符重载的例19
修饰表示虚函数(基类指针可指向派生类对象,动态联编),见文章C++之6|多态与异常的例26
可以把函数指定为内联函数。这样可以解决一些频繁调用的函数大量消耗栈空间(栈内存)的问题。
inline 函数类型 函数名(形参列表)
{
函数体;
}
inline int add(int a, int b)
{
return a + b;
}
数据类型大部分和C语言一样,有个特殊:wchar_t
char 是单字符类型,长度为一个字节
wchar_t 是宽字符类型,长度为两个字节,主要用在国际 Unicode 编码中
一些基本类型可以使用多个类型修饰符进行修饰,比如:signed short int
下面是常用数据类型总结
含义与const相反,const是把变量常量化使得不可更改,而mutable是把常量变量化。注意:mutable修饰的变量最好是与类的状态无关。
为了访问其他编译单元(如另一代码文件)中的变量或对象,对普通类型(包括基本数据类、结构和类),可以利用关键字extern来使用这些变量或对象;但是对模板类型,则必须在定义这些模板类对象和模板函数时,使用标准C++新增加的关键字export(导出/出口/输出)。
C++之1|从C到C++
C++之2|类的声明与函数
C++之3|静态成员与友元
C++之4|运算符重载
C++之5|组合与继承
C++之6|多态与异常
C++之7|转换函数
C++之8|模板与特化
C++之9|容器与迭代器