首页
学习
活动
专区
工具
TVP
发布

C++】static 变量详解-变量

static修饰变量的话,有两点要注意。 1.变量的存储区域在全局区,不管变量是在函数体内,class内,还是cpp文件内。 2.变量的作用域在离它最近的{}内部,出了{}之外,不可以使用。...为了比较区别,在这里变量名都是a,发现都可以编译通过。这也就表明G++做了处理,可以区分出来不同作用域里面的变量。 为了进一步知道原因,我编译出来了汇编,命令G++ -S *.cpp。...从上到下,我们可以看到,不同函数内的变量static int a; 会在变量前加上对应的函数名,例如: 1.main函数里面的,变成了_ZZ4mainE1a; 2.Fun函数内的,变成了_ZZ4FunvE1a...; 3.全局变量的,变成了_ZE1a;(这里没有粘贴出来,后续补上。)...经过编译器的处理之后,这些源代码中相同名字的变量,在编译之后便变成了唯一的标识符,这也就说明了static作用域的意义了。 ----

61610
您找到你想要的搜索结果了吗?
是的
没有找到

C++ 语言】线程安全队列 ( 条件变量 | 线程调度 )

线程简单使用 ---- 线程简单使用流程 : ① 线程方法准备 : 定义一个方法 , 主要使用其 方法名称 和 返回值 ; //线程的主方法 , 类似于 Java 中的 run 方法 , C++ 中方法名随意...等待其中任意一个线程执行完毕 , 实际上是一直在此阻塞 , 如果运行下去 主函数就暂停了 pthread_join(pid_push, 0); 更多详细内容 ( 如线程属性设置等细节 ) 参考 下面的博客 : 【C+...+ 语言】线程 ( 线程创建方法 | 线程标识符 | 线程属性 | 线程属性初始化 | 线程属性销毁 | 分离线程 | 线程调度策略 | 线程优先级 | 线程等待 ) 【C++ 语言】Visual Studio...条件变量 线程同步 ---- 条件变量使用步骤 : ① 声明 条件变量 : //条件变量 // 使用流程 : // 1. 在构造函数中进行初始化 // 2....+ 语言】Visual Studio 配置 POSIX 线程 ( Windows 不支持 POSIX | 配置文件下载 | 库文件说明 | 配置过程 )

1.2K21

C++基础变量

变量 变量的基本形式是:首先是类型说明符,随后紧跟有一个或者多个的变量名组成的列表,其中含有多个变量名时用逗号隔开,最后以分号结束。...int sum = 0; string first_name,last_name; 变量命名规范: (1)变量名称一般用小写字母 (2)自定义的类名一般首字母大写 (3)如果变量名由多个单词组成,...const变量会对用到该变量的地方都替换成对应的值,也就是编译器会找到用到buffSize的地方然后用1024替换掉。...默认情况下,const变量被设定为仅在文件内有效,当多个文件中出现同名的const变量的时候,其实会在不同文件中分别定义独立的const变量。...如果需要实现文件共享,这种情况我们不希望编译器为每个文件都生成独立的变量,即在一个文件中声明其他文件都可以使用。

35410

C++ 变量类型

C++ 变量类型 变量其实只不过是程序可操作的存储区的名称。C++ 中每个变量都有指定的类型,类型决定了变量存储的大小和布局,该范围内的值都可以存储在内存中,运算符可应用于变量上。...变量的名称可以由字母、数字和下划线字符组成。它必须以字母或下划线开头。大写字母和小写字母是不同的,因为 C++ 是大小写敏感的。...C++ 中的变量定义 变量定义就是告诉编译器在何处创建变量的存储,以及如何创建变量的存储。...C++ 中的变量声明 变量声明向编译器保证变量以给定的类型和名称存在,这样编译器在不需要知道变量完整细节的情况下也能继续进一步的编译。...您可以使用 extern 关键字在任何地方声明一个变量。虽然您可以在 C++ 程序中多次声明一个变量,但变量只能在某个文件、函数或代码块中被定义一次。

21820

C++ 变量类型

变量其实只不过是程序可操作的存储区的名称。C++ 中每个变量都有指定的类型,类型决定了变量存储的大小和布局,该范围内的值都可以存储在内存中,运算符可应用于变量上。...变量的名称可以由字母、数字和下划线字符组成。它必须以字母或下划线开头。大写字母和小写字母是不同的,因为 C++ 是大小写敏感的。...C++ 中的变量定义变量定义就是告诉编译器在何处创建变量的存储,以及如何创建变量的存储。...C++ 中的变量声明变量声明向编译器保证变量以给定的类型和名称存在,这样编译器在不需要知道变量完整细节的情况下也能继续进一步的编译。变量声明只在编译时有它的意义,在程序连接时编译器需要实际的变量声明。...虽然您可以在 C++ 程序中多次声明一个变量,但变量只能在某个文件、函数或代码块中被定义一次。

27210

C++定义指针变量 | 使用指针变量

C++指针变量的定义 C++规定所有变量在使用前必须先定义,即指定其类型,在编译时按变量类型分配存储空间,对指针 变量必须将它定义为指针类型。...即*不是指针变量名的一部分,在定义变量时在变量名前加一个*表示该变量是指针变量。 在C++中怎样使一个指针变量指向另一个变量呢?...只需要把被指向的变量的地址赋给指针变量即可: point_num1=&i; 在C++中,一般编译系统为每一个指针变量分配4个字节的存储单元,用来存放变量的地址, 在定义指针变量时要注意:  不能用一个整数给一个指针变量赋初值...在定义指针变量时必须指定基类型。 经典案例:C++定义指针变量。...C++定义指针变量 | 使用指针变量 更多案例可以go公众号:C语言入门到精通

2.5K2420

C++C++ 语言对 C 语言的加强 ② ( 变量检测增强 - C++ 不允许重复定义变量 | struct 关键字增强 - struct 作用等同于 class )

一、变量检测增强 - C++ 不允许重复定义变量 在 早期的 C 语言 编译器版本 中 , 可以 重复 定义 多个 同名的 全局变量 , 编译器 会将 这些 同名的 全局变量 链接到 全局数据区 的 相同地址空间中...a 变量 , 实际上访问的都是 全局数据区 的 相同地址空间中 的变量 , 两个 int a; 变量的地址是相同的 ; 下面的代码在 早期的 C 语言中 , 是可以编译运行的 ; #include <...+ 语言中 , 不允许重复定义相同的变量 ; 在 C++ 代码中重复定义变量 , 会报错 ; 1>------ 已启动生成: 项目: HelloWorld, 配置: Debug Win32 ------...定义 Student 结构体 类型变量 struct Student s1; 如果使用 Student s1; 定义上述结构体变量 , 就会报错 , 这是因为 C 语言不认为 Student...是一个类型 ; C++ 中将 struct 定义的结构体 当做一个新类型 对待 ; C ++ 语言中 , struct 关键字 与 class 关键字 完成的功能相同 ; struct 中也可以加上 public

15120

Java win7或 xp下配置JDK环境变量

JAVA win7或 xp下配置JDK环境变量 by:授客 1.安装JDK,安装过程中可以自定义安装目录等信息,例如我们选择安装目录为D:\java\jdk1.5.0_08; 2.安装完成后,右击“我的电脑...”,点击“属性”; 3.选择“高级”选项卡(win7 :选择“高级系统设置”),点击“环境变量”; 4.在“系统变量”中,设置3项属性,JAVA_HOME,PATH,CLASSPATH(大小写无所谓),...若已存在则点击“编辑”,不存在则点击“新建”; 5.JAVA_HOME指明JDK安装路径,就是刚才安装时所选择的路径D:\java\jdk1.5.0_08,此路径下包括lib,bin,jre等文件夹(此变量最好设置...,因为以后运行tomcat,eclipse等都需要依*此变量); Path使得系统可以在任何路径下识别java命令,设为: %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin CLASSPATH...“开始”->;“运行”,键入“cmd”; 7.键入命令“java -version”,“java”,“javac”几个命令,出现画面,说明环境变量配置成功; 8.好了,打完收工。

67220

Go语言变量

变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念。变量可以通过变量名访问。 Go 语言变量名由字母、数字、下划线组成,其中首个字母不能为数字。...声明变量的一般形式是使用 var 关键字: var identifier type 变量声明 第一种,指定变量类型,声明后若不赋值,使用默认值。...v_name := value // 例如 var a int = 10 var b = 10c := 10 //实例如下: package main var a = "Golang语言社区" var...b string = "golang.ltd" var c bool func main(){ println(a, b, c) } 以上实例执行结果为: Golang语言社区 golang.ltd...这样做是因为 Go 语言中你必须使用所有被声明的变量,但有时你并不需要使用从一个函数得到的所有返回值。

1.3K70

【C语言变量

其值可以改变的量称为变量,一个变量应该有一个名字,在内存中占据一定的存储单元。         ① 变量定义必须放在变量使用之前,一般放在函数体的开头部分。...③ 变量的名称可以由字母、数字和下划线字符组成、它必须以字母或下划线开头。  变量的定义 概述变量的定义就是告诉编译器在何处创建变量的存储,以及如何创建变量的存储。         ...变量的声明  概述变量的声明会向编译器保证变量以指定的类型和名称存在。         ① 变量的声明只在编译时有它的意义,在程序连接时编译器需要实际的变量声明。        ...局部变量  概述在一个函数内部声明的变量是内部变量,它只在本函数内部有效。在本函数之外是不能使用的,这样的变量就是局部变量。         在某个函数或块的内部声明的变量称为局部变量。...注意:当局部变量和全局变量同名的话,局部变量的使用优先。

12510

C++ 变量作用域

C++ 变量作用域 作用域是程序的一个区域,一般来说有三个地方可以定义变量: 在函数或一个代码块内部声明的变量,称为局部变量。 在函数参数的定义中声明的变量,称为形式参数。...在所有函数外部声明的变量,称为全局变量。 我们将在后续的章节中学习什么是函数和参数。本章我们先来讲解什么是局部变量和全局变量。 局部变量 在函数或一个代码块内部声明的变量,称为局部变量。...),称为全局变量。...全局变量的值在程序的整个生命周期内都是有效的。 全局变量可以被任何函数访问。也就是说,全局变量一旦声明,在整个程序中都是可用的。...,局部变量和全局变量的名称可以相同,但是在函数内,局部变量的值会覆盖全局变量的值。

24330

C++常量与变量

参考链接: C++变量, 字面量和常量 日期:2020年3月27日 作者:Commas 注释:开始我的C++学习的奇妙之旅,愿意和我一起学习的小伙伴们可以关注我,也可以给我点赞,如若博客有哪里写的不好的地方...类型读写说明常量仅只读,在定义并初始化后,不可修改原值变量可读写,在程序运行中,可以修改变量值 二、基本数据类型  在C++中,数据类型决定了变量存储的大小和布局,基本数据类型可分为以下4类:  整数类型...float\double):浮点数类型;布尔类型(bool):存储true\false;字符类型(char):实际上存储的是整数,可以容纳单字符的编码(ASCII码);  不知道有没有注意到,和其他高级程序语言有点不太一样...,C++在基本数据类型中,是没有字符串变量的,可以采用字符串数组存储字符串的,这很C字符串风格,但是已经不鼓励使用了,不过还是要了解一下。...在标准C++类库中有一个String类,这个是值得推荐的,很C++字符串风格。

63340

C++变量总结束 | 输出各种变量的值

C++register寄存器变量 变量除了数据类型以外,还有3种属性:  存储类别,C++允许使用auto,static,register和extern4种存储类别。...局部变量 自动变量,,即动态局部变量 动态局部变量 寄存器变量 形式参数 全局变量 静态外部变量 外部变量变量存储期来区分,有动态存储和静态存储两种类型 动态存储  自动变量 寄存器变量 形式参数 ...C++中一个函数一般由:声明部分、执行语句两部分组成,声明部分的作用是对有关的标识符的属性进行说明,对于函数,声明和定义的区别是明显的,函数的声明是函数的原型,而函数的定义是函数功能的确立。...对变量而言,声明与定义的关系稍微复杂一些。在声明部分出现的变量有两种情况:一种是需要建立存储空间的;另一种是不需要建立存储空间的。 经典案例:C++输出各种变量。...C++输出各种变量的值 更多案例可以go公众号:C语言入门到精通

1.9K2828
领券