C++入门总结

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wydyd110/article/details/82386642

1 变量的生明和定义中

C++语言支持分离式编译机制,该机制允许将程序分割为若干个文件,每个文件可被独立编译。为了将程序分为许多文件,则需要在文件中共享代码,例如一个文件的代码可能需要另一个文件中中定义的变量。

为了支持分离式编译,C++允许将声明和定义分离开来。变量的声明规定了变量的类型和名字,即使一个名字为程序所知,一个文件如果想使用别处定义的名字则必须包含对那个名字的声明。定义则负责创建与名字关联的实体,定义还申请存储空间。

如果想声明一个变量而非定义它,就在变量名前添加extern关键字,而且不要显式地初始化变量:

extern int i;  //声明i而非定义
int j;         //声明并定义i

但我们也可以给由extern关键字标记的变量赋一个初始值,但这样就不是一个声明了,而是一个定义:

extern int v = 2;
int v = 2;     //这两个语句效果完全一样,都是v的定义

注意: 变量能且只能被定义一次,但是可以被声明多次

extern一般是使用在多文件之间需要共享某些代码时

2 定义常量

在 C++ 中,有两种简单的定义常量的方式:

  • 使用 #define 预处理器。
  • 使用 const 关键字。

2.1 #define 预处理器

下面是使用 #define 预处理器定义常量的形式:

#define identifier value

2.2 const 关键字

您可以使用 const 前缀声明指定类型的常量,如下所示:

const type variable = value;

3 C++ 中的类型限定符

4 C++ 存储类

存储类定义 C++ 程序中变量/函数的范围(可见性)和生命周期。这些说明符放置在它们所修饰的类型之前。下面列出 C++ 程序中可用的存储类:

  • register
  • static
  • extern
  • mutable
  • thread_local (C++11)

具体参考:http://www.runoob.com/cplusplus/cpp-storage-classes.html

5 Lambda 函数与表达式

C++11 提供了对匿名函数的支持,称为 Lambda 函数(也叫 Lambda 表达式)。

Lambda 表达式把函数看作对象。Lambda 表达式可以像对象一样使用,比如可以将它们赋给变量和作为参数传递,还可以像函数一样对其求值。

Lambda 表达式本质上与函数声明非常类似。

具体参考:http://www.runoob.com/cplusplus/cpp-functions.html

6 C++ 随机数

猜你喜欢

转载自blog.csdn.net/wydyd110/article/details/82386642