C++ 之 第三课 C++数据类型

 在讲解数据类型之前先讲下C++语言的关键字、标识符、运算符。

  关键字

关键字就是C++预定义好的一些单词,我们在定义变量的时候是不能随便使用的,常见的关键字有:(了解即可

asm

double

new

switch

auto

else

operator

template

break

enum

private

this

case

extern

protected

throw

catch

float

public

try

char

for

return

typedef

class

friend

register

union

const

goto

short

unsigned

continue

if

signed

virtual

default

inline

sizeof

void

delete

int

static

volatile

do

long

struck

while

  标识符

  标识符是一个字符序列,用来标识变量、函数、数据类型等。

标识符可以由大写字母、小写字母、下划线(_)和数字0~9组成,但必须是以大写小写字母或下划线(_)开头。

  比如Name和name就代表两个不同的标识符。

    运算符

   运算符是用来进行运算的符号,如+、-、*、/、等等。。

接下来是重点:***** 

 基本数据类型详解

ID

范畴

关键字

说明

1

数据类型

bool

基本类型—-布尔类型

2

数据类型

char

基本类型—-字符类型

3

数据类型

wchar_t

基本类型—-宽字符类型

4

数据类型

double

基本类型—-实体型

5

数据类型

float

基本类型—-浮点型

6

数据类型

int

基本类型—-整型

7

数据类型

long

基本类型—-长整型

8

数据类型

short

基本类型—-短整型

9

数据类型

signed

基本类型—-有符号整型

10

数据类型

unsigned

基本类型—-无符号整型

11

数据类型

false

布尔类型—-假值

12

数据类型

true

布尔类型—-真值

13

数据类型

enum

基本类类型—枚举类型

14

数据类型

union

基本类类型—联合类型

15

数据类型

struct

基本类类型—结构体类型

16

数据类型

typename

定义模板时,用此关键字表示通用类型。

17

数据类型

typedef

取别名--用以给数据类型取别名

18

数据类型

sizeof

长度计算--计算类型占用的字节长度

19

条件控制

switch

switch分支语句

20

条件控制

case

switch分支语句--条件判断

21

条件控制

break

条件中断

22

条件控制

default

switch分支语句—-默认分支

23

条件控制

continue

跳过继续

24

条件控制

do

循环

25

条件控制

else

分支

26

条件控制

for

循环

27

条件控制

goto

跳转

28

条件控制

if

分支

29

条件控制

while

循环

30

条件控制

return

返回

31

语义修饰

auto

声明变量的生存期为自动,即将不在任何类、结构、枚举、联合和函数中定义的变量视为全局变量,而在函数中定义的变量视为局部变量。这个关键字不怎么多写,因为所有的变量默认就是auto的。

32

语义修饰

const

被const修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。

  1. 修饰函数参数(非内部类型),即const引用传递。
  2. 修饰返回值(返回值为指针类型),只能赋给相同类型的变量。
  3. 修饰变量
  4. 修饰指针变量

33

语义修饰

extern

声明并引用此变量为外部变量,其存在于工程中的某个文件中。

34

语义修饰

friend

声明友元函数或者类。

35

语义修饰

inline

声明定义内联函数,编译时将所调用的代码嵌入到主函数中。

36

语义修饰

private

访问权限:类私有函数和数据成员的标示。private成员只有该类自身的成员函数可以访问。

继承权限:父类的所有成员访问权限在 子类中变为private。

37

语义修饰

public

访问权限:类公共函数和数据成员的标示。可通过对象或类名访问。

继承权限:父类成员的访问权限在子类中不变,仍为自己原来的权限。

38

语义修饰

protected

访问权限:类受保护的函数和数据成员的标示。protected成员只有该类的成员函数及其派生类的成员函数可以访问。

继承权限:父类的public成员访问权限在子类中变为protected;父类的protected成员和private成员在子类权限维持原来的权限不变。

39

语义修饰

register

这个关键字命令编译器尽可能的将变量存在CPU内部寄存器中,而不是通过内存寻址访问,从而提高效率。

40

语义修饰

static

面向过程的static关键字

定义静态全局变量

  1. 作用域为本文件中,在其它文件中不可见。
  2. 未初始化的静态全局变量会自动初始化,会被程序自动初始化为0。
  3. 静态全局变量在“全局数据区”分配内存。

定义静态局部变量

  1. 作用域为本文件中的函数,只初始化一次,在此函数多次调用时每次的值保持到下一次调用,知道直到下次赋新值。
  2. 静态局部变量一般在声明处初始化,如果没有显式初始化,会被程序自动初始化为0。
  3. 静态局部变量在“全局数据区”分配内存。

定义静态函数

  1. 只在它声明的文件中可见。

面向对象的static关键字

定义类的静态数据成员

  1. 静态数据成员被当作是类的成员,所有对象共享访问,其值可以被更新。
  2. 静态数据成员和普通数据成员一样遵从public,protected,private访问规则。
  3. 静态数据成员存储在全局数据区。静态数据成员定义时要分配空间。
  4. 静态数据成员初始化格式如下:<数据类型><类名>::<静态数据成员名>=<值>
  5. 静态数据成员的两种访问方式:

<类对象名>.<静态数据成员名> 或

<类类型名>::<静态数据成员名>

静态数据成员优点(与全局变量相比)

  1. 静态数据成员没有进入程序的全局名字空间,因此不存在与程序中其它全局名字冲突的可能性。
  2. 可以实现信息隐藏。静态数据成员可以是private成员,而全局变量不能。

定义类的静态函数

  1. 静态函数被当作是类的成员,所有对象共享访问。
  2. 在类内部声明时需要加上static关键字,在类外部定义时不用加static关键字。
  3. 非静态成员函数可以任意地访问静态成员函数和静态数据成员。
  4. 它不具有this指针,它无法访问属于类对象的非静态数据成员,也无法访问非静态成员函数,它只能调用其余的静态成员函数。
  5. 调用格式:

<类名>::<静态成员函数名>(<参数表>)

原文地址:https://www.cnblogs.com/delphi2014/p/4008081.html