0
点赞
收藏
分享

微信扫一扫

C/C++语言重温------常量及C++存储类

七公子706 2022-02-18 阅读 120

C/C++语言重温------常量及C++存储类


一、常量定义


  (1) 使用 #define 预处理器。
     例: #define LENGTH 10

  (2) 使用 const 关键字。
     例: const int LENGTH = 10;

  注意:常量定义时要全部大写!!!

  

二、C++存储类

(1)auto 存储类

 使用情景:
 <1> 声明变量 : 根据初始化表达式自动推断该变量的类型。
    例:根据初始化表达式自动推断被声明的变量
	auto f=3.14;      //double
	auto s("hello");  //const char*
	auto z = new auto(9); // int*
	auto x1 = 5, x2 = 5.0, x3='r';//错误,必须是初始化为同一类型

 <2> 声明函数 : 作为函数返回值的占位符。

(2)register 存储类

 用于定义存储在寄存器中而不是 RAM 中的局部变量。

(3)static 存储类

static 存储类,指示编译器在程序的生命周期内保持局部变量的存在,而不需要在每次它进入和离开作用域时进行创建和销毁。
也可以应用于全局变量。当 static 修饰全局变量时,会使变量的作用域限制在声明它的文件内。

人话:只定义一次。。。

(4)extern 存储类

<1> 用于提供一个全局变量的引用,全局变量对所有的程序文件都是可见的。
<2> 用来在另一个文件中声明一个全局变量或函数。
        
    例:如两个文件:

    第一个文件:main.cpp
    #include <iostream>

	int count ;
	extern void write_extern();

	int main()
	{
	   count = 5;
	   write_extern();
	}

    第二个文件:support.cpp
	#include <iostream>

	extern int count;

	void write_extern(void)
	{
	   std::cout << "Count is " << count << std::endl;
	}

 输出结果:
	Count is 5
	
 第一个文件中的 extern 关键字用于声明在第二个文件 support.cpp 中定义的 函数。
 第二个文件中的 extern 关键字用于声明已经在第一个文件 main.cpp 中定义的 count 。

(5)thread_local 存储类

  <1> 使用 thread_local 说明符声明的变量仅可在它在其上创建的线程上访问。 
  <2> 变量在创建线程时创建,并在销毁线程时销毁。 
  <3> 每个线程都有其自己的变量副本。
举报

相关推荐

0 条评论