天天看点

c++ static_const函数调用_名字空间

static

1:

C

语言static的功能适应于

C++

;

2:

static

修饰

c++

的静态成员:

权限:

static

数据类型 名称;

相当于类::静态变量,它是一个纯粹的变量,全局唯一,分配在数据段上;

3:

static

修饰

c++

的静态函数

相当于类::函数,它是一个纯粹的函数,与类型实例无关,所以也不会有this指针,不能访问实例的数据成员。

4: 权限修饰符号决定了访问的权限;

  • c++

    也可以有独立的函数;
    • c++ static_const函数调用_名字空间
  • static

    • static

      也是只能在模块内部使用;
    • static

      静态全局变量,和静态局部变量;
    • c++

      , 静态数据成员,静态成员函数,
  • 静态数据成员:
    • 一个全局变量:类名::变量名,全局变量–>数据段上;
    • 权限修饰:
      • public

        ,外部可以使用,
      • 使用静态全局变量,和普通的变量不一样,对象实例;
      • 在类里声明,在外部定义
      • c++ static_const函数调用_名字空间
      • private只能内部使用,……..
      • c++ static_const函数调用_名字空间

静态成员函数

  • 实际上就是一个普通的c++函数,类名::函数名
  • 它和普通的成员函数是不一样;
  • 类的实例.成员函数()–>实例–>

    this

    ,;
  • 静态函数不需要类的实例,当然在静态函数里面也没有所谓的this
  • c++ static_const函数调用_名字空间
  • 如果是在类的内部,可以省略,但是不建议这样的写法,因为代码是给开发人员看的
    • c++ static_const函数调用_名字空间
    • 这样写开发人员就能够知道是个静态成员变量;
    • 如果是声明在外面;
    • c++ static_const函数调用_名字空间

const

1:

C

语言里面的

const

也同样适用于

c++

;

2:

C++

语言里面

const

修饰成员函数,表示该函数不会修改任何数据成员,一旦你一个

const

修饰的函数里修改数据成员,编译器会报错;

  • const

    :指的是这个函数里面,不会修改任何实例对象的数据成员,编译器会强制你不去修改这个,一旦修改,编译器马上报错;
  • 减少代码维护的负担,如果你不会有成员变量的改变,一定写上

    const

  • c++ static_const函数调用_名字空间
  • const

    函数实现在外部 要加上

    const

    • c++ static_const函数调用_名字空间
    • -

c++函数调用

1:

C++

调用成员函数:

隐式调用:实例.成员函数;

显示调用: 实例.类::成员函数;

2:

C++

普通函数, 和

C

的语法是一样的,但是参数传递不一样,

C++

的普通的函数调用叫做

stdcall

,

C的函数调用叫做

__cdecl

3: C++的成员函数调用,要先传递this指针,所以叫做

thiscall

4:

C++

调用C的函数,加上

extern

“C” {}, 使用C的方式来调用;

4:

__cplusplus

宏,区别编译器是C或C++;

6:C函数的代码模块供c/c++调用的头文件定义方式;

  • c++函数调用,实例.成员函数;
  • 传递this指针,–>

    thiscall

    方式
    • c++ static_const函数调用_名字空间
  • c++可以调用普通的函数;
  • stdcall

    方式
    • c++ static_const函数调用_名字空间
  • c++调c的函数,强制要求c++编译器按照c的方式调用;
  • __cdecl

    方式
    • c++ static_const函数调用_名字空间
  • c语言编写的代码模块,要给c++使用怎么办呢?
    • c++ static_const函数调用_名字空间
    • c++ static_const函数调用_名字空间
    • c++ static_const函数调用_名字空间
  • __cplusplus

    宏是C++的编译器的判定
  • C编译器来include,还是C++编译器来include
    • c++ static_const函数调用_名字空间
    • 即可给c编译器用还可以给c++编译器使用
    • -

名字空间

1: 名字空间的作用: 多方合作的时候,难免会有重名,名字空间能解决这个问题;

2: 定义名字空间

namespace

名字 { C++代码定义在这个主体}

3: 使用名字空间:

显示的使用名字空间::xxxxxx

using namespace XXXXXX, 添加名字空间到搜索路径,在查找的时候,就会到你设置的名字空间下查找;

4: 名字空间的意义: 让我们的命名,更规范,更合理, 如果我们写底层库给别人使用,一定要

加上名字空间,这个是对自己负责,也是对别人负责;

  • 每个厂商有自己的名字空间,这样的话提供给其它人使用的时候,不会和陌生的厂商冲突;
    • c++ static_const函数调用_名字空间
  • 每次在前面加上名字空间,我们觉得有点麻烦;
  • 隐式的使用;
  • using namespace

    XXXX;
  • c++ static_const函数调用_名字空间

总结

1: 理解类的

static

关键字的作用;

2: 理解类的

const

关键字的作用;

3: 掌握c++的函数调用和C的函数调用的方式;

4: 掌握

_cplusplus

5: C++调用C代码;

6: 掌握名字空间;

–》源代码

继续阅读