首页
登录 | 注册

语句块

如果在语句块中定义了一个新变量,则仅当程序执行语句块中的语句时,该变量才存在。执行完该语句块后该变量被释放。这表明此变量在该语句块中财是可用的。

#include<iostream>
int main()
{
  using namespace std;
  int x=20;
  {                        //block starts
      int y<<100;
      cout<<x<<endl;       //ok
      cout<<y<<endl;       //ok
   }                       //block ends
   cout<<x<<endl;          //ok
   cout<<y<<endl;          //invalid,won't compile
   return 0;
}

注意:在外部语句块中定义的变量在内部语句块中也是被定义了的。
如果在一个语句块中声明一个变量,而外部语句块中也有一个这种名称的变量,在声明位置到内部语句块结束的范围之内,新变量将隐藏就变量;然后旧变量再次可见:

#include <iostream>
int main()
{
    using std::cout;
    using std::endl;
    int x=20;           //original x
    {                   //block starts
       cout<<x<<endl;   //use original x
       int x=100;       //new x;
       cout<<x<<endl;   //use new x
    }                   //block ends
    cout<<x<<endl;
    return 0;
} 

相关文章

  • 前端基础---JS基础
    背景介绍 Javascript 是一种运行在客户端的脚本语言 应用场景: 1.网页特效 2.服务端开发(Node.js) 3.命令行工具(Node.js) 4.桌面程序(Elextron) 5.APP(Cordova) 6.控制硬件-物联网 ...
  • 一份还热乎的蚂蚁金服面经(已拿Offer)!附答案!!
    本文来自我的知识星球的球友投稿,他在最近的校招中拿到了蚂蚁金服的实习生Offer,整体思路和面试题目由作者--泽林提供,部分答案由Hollis整理自知识星球<Hollis和他的朋友们>中「直面Java」板块. 经历了漫长一个月的 ...
  • 从虚拟化前端Bug学习分析Kernel Dump
    前言 也许大家都知道,分析 Kernel Dump 有个常用的工具叫 Crash,在我刚开始学习分析 Kernel Dump 的时候,总是花大量的时间折腾这个工具的用法,却总是记不住这个工具的功能.后来有一次在参加某次内部分享的时候,有位大 ...

2020 jeepshoe.net webmaster#jeepshoe.net
13 q. 0.275 s.
京ICP备10005923号