C++学习笔记(2)作用域

#include<iostream>
int a = 10;
int main()
{
    int    i = 10;
    std::cout<<"a = "<< a<<", i =  " << i <<std::endl;
    int a = 20;                  //局部变量取代全局变量
    std::cout<<"a = "<< a<<", i =  " << i <<std::endl;
    std::cout<<"a = "<< ::a<<", i =  " << i <<std::endl;
    return 0;
}

输出结果:a = 10,i = 10;
             a = 20,i = 10;
             a= 10,i = 10;
时间: 2024-11-08 11:44:27

C++学习笔记(2)作用域的相关文章

C++学习笔记之作用域为类的常量和作用域内的枚举

一.作用域为类的常量 有些情况下,使符号常量的作用域为类很有用.如,类声明(不是定义)可能使用字面值30来指定数组长度,由于该常量对于所有对象来说都是相同的,因此创建一个由所有对象共享的常量是个不错的主意,也许我们想像下面这样做: 1 class Weather 2 { 3 private: 4 const int Months = 12; //声明一个常量 5 double temperature[Months]; 6 ... 7 } 要注意的是,我们这是在声明阶段,需要在声明类的时候就有一个

js学习笔记之作用域链和闭包

在学习闭包之前我们很有必要先了解什么是作用域链 一.作用域链 作用域链是保证对执行环境有权访问的所有变量和函数的有序访问. 这句话其实还是蛮抽象的,但是通过下面一个例子,我们就能清楚的了解到作用域链了. 1 var color="blue"; 2 function changeColor(){ 3 var anotherColor="red"; 4 function swapColors(){ 5 var tempColor=anotherColor; 6 anot

javascrip高级程序设计的学习笔记【作用域和执行环境】

javascript变量可以用来保存两种类型的值:基本类型和引用类型.基本类型包括以下5种:undefined.Null.string.Boolean.Number等, 引用类型是object:基本类型和引用类型都具有几下特点: 1.基本类型值在内存中占据固定大小的空间,因此基本类型的值被保存在栈内存中: 2.从一个变量向另一个变量复制基本类型的值,会创建这个值的副本. 3.引用类型的值是对象,保存在堆中: 4.包含引用类型值的变量实际并不是包含对象本身,而是一个指向该对象的指针: 5.从一个变

你不知道的JavaScript学习笔记1——作用域

处理程序三要素: 引擎:编译与执行过程. 编译器:语法分析与代码生成等. 作用域:收集并维护由所有声明的标识符(变量)组成的一系列查询,并实施一套非常严格的规则,确定当前执行的代码对这些标识符的访问权限. 示例: var a=2;的解析过程: 1.编译器 询问 作用域 是否已经有该名称的变量 是:忽略该声明,继续执行: 否:声明一个新变量,命名为a; 2.编译器为引擎生成代码 引擎运行首先询问作用域,在当前作用域集合中是否存在一个a的变量: 是:引擎会使用这个变量; 否:引擎继续查找该变量; 找

python学习笔记-Day10 (作用域、I/O多路复用)

python作用域知识点 ############ python 无块级作用域 if 1 ==1 : name = 'alex' print(name) for i in range(10): name = i print(name) ############# python以函数作用域 def func(): ename = 'alex' # print(ename) # 输出ename 没有被定义 # func() # print(ename) # 输出ename 没有被定义 #######

[学习笔记Java作用域变量申明和C、C++的差异性

Java作用域 大多数程序设计语言都提供了"作用域"(Scope)的概念.对于在作用域里定义的名字,作用域同时决定了它的"可见性"以及"存在时间".在C,C++和Java 里,作用域是由花括号的位置决定的.参考下面这个例子: { int x = 12; /* only x available */ { int q = 96; /* both x & q available */ } /* only x available */ /* q

C++ Primer 学习笔记_17_类与数据抽象(3)_类作用域

C++ Primer 学习笔记_17_类与数据抽象(3)_类作用域 引言: 每个类都定义了自己的新作用域与唯一的类型.即使两个类具有完全相同的成员列表,它们也是不同的类型.每个类的成员不同与任何其他类(或任何其他作用域)的成员. 一.类作用域中的名字查找 1)首先,在使用该名字的块中查找名字的声明.只考虑在该项使用之前声明的名字. 2)如果在1)中找不到,则在包围的作用域中查找. 如果找不到任何声明,则出错. 类的定义实际上是在两个阶段中处理: 1)首先,编译器声明: 2)只有在所有成员出现之后

C++ Primer 学习笔记_69_面向对象编程 --继承情况下的类作用域

面向对象编程 --继承情况下的类作用域 引言: 在继承情况下,派生类的作用域嵌套在基类作用域中:如果不能在派生类作用域中确定名字,就在外围基类作用域中查找该名字的定义. 正是这种类作用域的层次嵌套使我们能够直接访问基类的成员,就好像这些成员是派生类成员一样: Bulk_item bulk; cout << bulk.book() << endl; 名字book的使用将这样确定[先派生->后基类]: 1)bulk是Bulk_item类对象,在Bulk_item类中查找,找不到名

js学习笔记1(变量、作用域、内存)

写在前面,舍弃叽叽歪歪,只做学习笔记,认真踏实. 学习书籍:javascript高级程序设计3版. 章节4.1 基本类型和引用类型 1.基本类型在内存中占据固定大小的空间,所以保存在栈内存中. 2.从一个变量向另一个变量复制基本类型的值的时候,会在栈中保存另一个副本. 3.引用类型的值是对象,保存在堆内存中. 4.包含引用类型的值的变量,包含的不是对象本身,而是指向该对象的在堆内存中的位置的指针. 5.确定一个值是哪一种基本类型,可以用typeof.确定一个对象是哪一种引用类型,可以使用inst

php学习笔记0001 变量作用域

<?php/*2015-8-6php学习笔记0001函数之外声明的变量拥有 Global 作用域,只能在函数以外进行访问.函数内部声明的变量拥有 LOCAL 作用域,只能在函数内部进行访问. */$x = 5;function ast(){ /* 声明局部变量 输出结果为6 */ $x = 6; echo $x;}function beli(){ /* 没有声明局部变更 函数内部无法访问全局变量 编译正常 调用报错 */ echo $x;}ast();//输出6//beli();//会报错ech