zoukankan      html  css  js  c++  java
  • 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. 调用格式:

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

  • 相关阅读:
    sql server执行存储过程慢的问题
    Windows service
    moss网站模板的一些问题
    ACM题解报告——HD1012
    ACM题解报告——HD1496
    ACM题解报告——HD1253
    ACM题解报告——进制数取于余
    ACM题解报告——HD1058
    ACM题解报告——HD1548
    ACM解题报告HD1015
  • 原文地址:https://www.cnblogs.com/delphi2014/p/4008081.html
Copyright © 2011-2022 走看看