简单分为:全局作用域、局部作用域、语句作用域
如果希望在局部变量的作用域内使用同名的全局变量,可以在该变量前加上“::”
::aver=20
#include<iostream>
using namespace std;
int var = 20;
int main(int argc, char *argv[])
{
    int var = 10;
    cout<<var<<endl;   //10
    cout<<::var<<endl;  //20
    return 0;
}
 
在C++中,结构名、联合名(共用体名)、枚举名都是类型名。
结构、联合和枚举名可直接作为类型名
#include<iostream>
using namespace std;
struct Student {
    string name;
    int age;
};
int main(int argc, char *argv[])
{
    Student stu;
    return 0;
}
 
{}代码块
如果在代码块”{}”中定义了变量,则该变量的生存周期和作用域将被限制在该代码块内。
#include<iostream>
using namespace std;
int main(int argc, char *argv[])
{
    int var = 20;
    {
        int var = 30;
        cout<<var<<endl;  //30
    }
    cout<<var<<endl;  //20
    return 0;
}
 
const修饰符
const int LIMIT = 100;
LIMIT = 100;  //error
int* p = &LIMT; //error
const修饰符
const修饰符 用const修饰符定义常量。一般的语法格
const 类型名 常量名=常量值(表达式);
对于上例,用const定义为:
   fun(&LIMIT); //error void fun(int
*a);
指向常量的指针变量:
如:const char * p_name = name1;
常(量)指针:
如: char * const p_name = name1;
指向常量的常(量)指针:
如: const char * const name = "chen";
 
引用:
引用就是给变量一个别名,使指针运算 更加方便
引用的定义
类型名 &别名=变量名或别名; 
如:int a=5;int &b=a;
 
定义引用时必须初始化,之后不可重新赋新值
错误示例: 
int a;
int &b; //错误 
b = a;
初始化可以为另一个引用名,如下:
int a;
int &b = a;
int &c = b;
通过引用参数产生的效果同按地址传 递是一样的
引用的语法更清楚简单 函数调用时传递的实参不必加“&”符 
在被调函数中不必在参数前加“*”符 

作用域 {}代码块 const修饰符 引用的更多相关文章

  1. C/C++ 中 const 修饰符用法总结

    C/C++ 中 const 修饰符用法总结 在这篇文章中,我总结了一些C/C++语言中的 const 修饰符的常见用法,供大家参考. const 的用法,也是技术性面试中常见的基础问题,希望能够帮大家 ...

  2. const修饰符与函数

    一.用const修饰函数的参数 函数参数类型前加const指明该参数为常量,在函数内部不可改变. void func(const int x) { //x不可以在内部进行赋值等操作. } 注:当参数为 ...

  3. [原创] 基础中的基础(二):C/C++ 中 const 修饰符用法总结

    在这篇文章中,我总结了一些C/C++语言中的 const 修饰符的常见用法,供大家参考. const 的用法,也是技术性面试中常见的基础问题,希望能够帮大家梳理一下知识,给大家一点点帮助.作者是菜鸟一 ...

  4. 转载----C/C++ 中 const 修饰符用法总结

    感谢原创作者,写的好详细.不忍错过,所以转载过来了... 原文地址: https://www.cnblogs.com/icemoon1987/p/3320326.html 在这篇文章中,我总结了一些C ...

  5. C++ c++与C语言的区别(三目运算符,const修饰符)

    //区别⑦:三目运算符(C++版本) #include<iostream> using namespace std; //三目运算符 C语言返回变量的值 C++语言是返回变量本身 void ...

  6. Delphi 中 函数参数中的 const 修饰符的本质以及注意事项

    来自:http://blog.csdn.net/farrellcn/article/details/9096787 ------------------------------------------ ...

  7. C++中 容易忽视的const 修饰符

    C++可以用const定义常量,也可以用#define定义常量,但是前者比后者有更多的有点: (1)const常量有数据类型,而宏常量没有数据类型.编译器可以对const进行类型安全检查,而后者只进行 ...

  8. [Reprint]C++函数前和函数后加const修饰符区别

    c++中关于const的用法有很多,const既可以修饰变量,也可以函数,不同的环境下,是有不同的含义.今天来讲讲const加在函数前和函数后面的区别.比如: 01 #include<iostr ...

  9. C++函数前和函数后加const修饰符区别

    class Test(){ public: Test(){} const int foo(int a); const int foo(int a) const; }; 一.概念 当const在函数名前 ...

随机推荐

  1. 转-C++之string判断字符串是否包含某个子串

    转自:https://blog.csdn.net/zhouxinxin0202/article/details/77862615/ 1.string类函数find C++的string类提供了字符串中 ...

  2. 使用java读取excel数据

    package excelOperation2; import java.io.File; import java.io.FileNotFoundException; import java.util ...

  3. intellij IDEA2016如何打可执行的jar包

    尊重版权,原文地址:https://blog.csdn.net/liufeilong_sean/article/details/75254875 操作步骤: 1.在File -> project ...

  4. 1. 什么是Prometheus

    什么是Prometheus Prometheus是一个最初在SoundCloud上构建的开源系统监视和警报工具包 .自2012年成立以来,许多公司和组织都采用了Prometheus,该项目拥有一个非常 ...

  5. 18. HTTP协议一:概述、原理、版本、请求方法

    HTTP协议概述 HTTP协议就是我们常说的超文本协议(HyperText Transfer Protocol).HTTP协议是互联网上应用最为广泛的一种网络协议.所有的WWW文件都必须遵守这个标准. ...

  6. Java DOM解析器 - 解析XML文档

    使用DOM的步骤 以下是在使用DOM解析器解析文档使用的步骤. 导入XML相关的软件包. 创建DocumentBuilder 从文件或流创建一个文档 提取根元素 检查属性 检查子元素 导入XML相关的 ...

  7. 【Linux】- 同步网络时间

    转自:Linux同步网络时间 Linux服务器运行久时,系统时间就会存在一定的误差,一般情况下可以使用date命令进行时间设置,但在做数据库集群分片等操作时对多台机器的时间差是有要求的,此时就需要使用 ...

  8. 人生苦短,我学PYTHON

    人生苦短我学PYTHON 坚持 努力

  9. Ti 949 配置 948 i2c

    如果不想用 远端 slave,只访问948   选 i2c pass through all =1  :i2c pass through =0/1 0x0c 0x17 0x9e 如果想用远端  sla ...

  10. VirtualBox安装CentOS系统

    1. 准备材料 虚拟机软件: VirtualBox 系统iso版本:CentOS-7-x86_64-DVD-1611.iso 虚拟机软件下载地址: https://www.virtualbox.org ...