C++之10|50例学懂C++

  • A+
所属分类:c++学习

十、总结-50例学懂C++

1、简介

点击前往百度百科

C++是一种计算机高级程序设计语言,由C语言扩展升级而产生 ,最早于1979年由本贾尼·斯特劳斯特卢普在AT&T贝尔工作室研发。

应用范围主要有大型游戏、界面操作、Arduino相关、QT等。

2、工具

常见的那几种是Notepad++、VS、Dev-C++、Xcode、VScode

我自己使用Dev-C++来编译认证些简单C语言或C++,或者是VScode写代码然后虚拟机Ubuntu编译(我主要是用这个方式,而且50例也是使用g++工具链编译的)

3、基本语法

大家得有个清晰的认知:

C++是面向对象的

    封装的形态格外突出,分门别类的思想特别深刻。举个例子:名称、肤色、体重、品种放在一起封装起来归类为属性,于是这个属性就可以用来形容狗、猫等宠物;然后猫、狗等动物也可以放在一起封装起来归类为某宠物店,于是这个宠物店就可以用来声明是哪个地方的宠物店;接着各不同地方的宠物店又可以封装起来归类为某个连锁公司......

C++是区分大小写的编程语言

4、关键字

C++之10|50例学懂C++

红框圈出来的和C语言的用法基本一致,不赘述。

(1) asm

在C++中嵌入汇编语言,一般是用于寄存器操作

__asm{	mov al, 2  mov dx, 0xD007 out al, dx  }

(2)new/delete

new是堆内存分配,类似于C语言的malloc;delete是堆内存释放,类似于C语言的free,见文章C++之1|从C到C++例5-2

(3)this

用于标识类成员,在名称重复情况起区分作用,见文章C++之2|类的声明与函数例7-3

(4)operator

运算符重载,见文章C++之4|运算符重载

(5)throw/try/catch

异常处理,见文章C++之6|多态与异常例29

(6)explicit

隐式构造,见文章C++之7|转换函数例35

(7)private/public/class/protected

private常用于表示类的私有成员,public常用于表示类的公共成员,class用于创建类,protected用于表示类的保护成员

(8)reinterpret_cast/const_cast/static_cast/dynamic_cast

标准转换函数,见文章C++之7|转换函数例30~33

(9)typename/template

用于模板特化,见文章C++之8|模板与特化

(10)friend

友元,见文章C++之3|静态成员与友元

(11)using/namespace

常用表示情况如下

using namespace std;

见文章C++之4|运算符重载例19

(12)virtual

修饰表示虚函数(基类指针可指向派生类对象,动态联编),见文章C++之6|多态与异常例26

(13)inline

可以把函数指定为内联函数。这样可以解决一些频繁调用的函数大量消耗栈空间(栈内存)的问题。

  1. 定义内联函数时,在函数定义和函数原型声明时都使用inline,也可以只在其中一处使用,其效果一样。
  2. 内联函数在编译时用内联函数函数的函数体替换,所以不发生函数调用,不需要保护现场,恢复现场,节省了开销。
  3. 内联函数增加了目标程序的代码量。因此,一般只将函数规模很小且使用频繁的函数声明为内联函数。
  4. 当内联函数中实现过于复杂时,编译器会将它作为一个普通函数处理,所以内联函数内不能包含循环语句和switch语句。
    内联函数格式如下:
inline 函数类型 函数名(形参列表)
{
	函数体;
}
inline int add(int a, int b)
{
	return a + b;
}

(14)wchar_t

数据类型大部分和C语言一样,有个特殊:wchar_t
char 是单字符类型,长度为一个字节

wchar_t 是宽字符类型,长度为两个字节,主要用在国际 Unicode 编码中
一些基本类型可以使用多个类型修饰符进行修饰,比如:signed short int
下面是常用数据类型总结
C++之10|50例学懂C++

(15)mutable

含义与const相反,const是把变量常量化使得不可更改,而mutable是把常量变量化。注意:mutable修饰的变量最好是与类的状态无关。

(16)export

为了访问其他编译单元(如另一代码文件)中的变量或对象,对普通类型(包括基本数据类、结构和类),可以利用关键字extern来使用这些变量或对象;但是对模板类型,则必须在定义这些模板类对象和模板函数时,使用标准C++新增加的关键字export(导出/出口/输出)。
C++之10|50例学懂C++

5、往期内容

C++之1|从C到C++

C++之2|类的声明与函数

C++之3|静态成员与友元

C++之4|运算符重载

C++之5|组合与继承

C++之6|多态与异常

C++之7|转换函数

C++之8|模板与特化

C++之9|容器与迭代器

w3cjava

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: