//const在C不可以初始化数组

//const在C++可以用来初始化数组

 #include <iostream>
using namespace std; void main()
{
const int num = ;
int a[num];//const在C++可以用来初始化数组
int i = ; for (auto data : a)
{
data = i++;
std::cout << data << std::endl;
} system("pause");
}

常量和约束访问

关键字const约束对象的访问性质,使对象值只能读,不能写,即不允许修改对象的值

//C++权限问题与强类型

//因为为了权限的编程,只读不可写的权限,指向常量的指针int const *p2(&b);C++强类型会忽略

//给予可读可写的权限,常量指针int * const p4(&b);强类型发生作用

//指向常量的常量指针const int * const p5(&a);给予只读权限

 #include <iostream>
using namespace std; //C++权限问题与强类型
//因为为了权限的编程,只读不可写的权限,指向常量的指针int const *p2(&b);C++强类型会忽略
//给予可读可写的权限,常量指针int * const p4(&b);强类型发生作用
//指向常量的常量指针const int * const p5(&a);给予只读权限 void main()
{
int a = ;
const int b = ; //指向常量的指针,指向的数据不可以赋值
int const *p1(&a);
int const *p2(&b); //常量指针
int * const p3(&a);
//int * const p4(&b);//error C2440: “初始化”: 无法从“const int *”转换为“int *” //指向常量的常量指针
const int * const p5(&a);
const int * const p6(&b); system("pause");
}

常引用

const 类型&引用名=对象名;

例如:

int a=314;

const int & ra=a;//ra是a的常引用

cosnt比#define更有优势

//#define强制替换,没有明确的类型

//const动态监测类型,实现赋值,赋值会自动进行数据类型转换,避免类型不一致的出错

C++_const的更多相关文章

  1. ES6_入门(2)_const命令

    1. //只读常量,一旦声明,常量的值就不能改变. const PI=3.1415; console.log(PI); PI=6;//报错:es6.html:186 Uncaught TypeErro ...

  2. String类型_static成员_动态内存分配_拷贝构造函数_const关键字_友元函数与友元类

    1:String类型 #include <iostream> using namespace std; int main() { //初始化方法 string s1 = "hel ...

  3. Python语言十分钟快速入门

    Python(蟒蛇)是一种动态解释型的编程语言.Python可以在Windows.UNIX.MAC等多种操作系统上使用,也可以在Java..NET开发平台上使用. AD:[51CTO技术沙龙]移动时代 ...

  4. linux环境 c 中如何执行shell命令

    1 system 相当简单: int system(const char *command); system("ps -aux"); 2 popen popen有两个参数,第一个是 ...

  5. Python基本语法[二],python入门到精通[四]

    在上一篇博客Python基本语法,python入门到精通[二]已经为大家简单介绍了一下python的基本语法,上一篇博客的基本语法只是一个预览版的,目的是让大家对python的基本语法有个大概的了解. ...

  6. Python使用基础

    1) 基本概念1.1 常量 Python没有提供常量保留字,需要自行扩展一个常量类来实现常量功能 class _const: class ConstError(TypeError):pass def ...

  7. Python变量与常量

    变量是计算机内存中的一块区域,变量可以存储规定范围内的值,而且值可以改变.基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中.常量是一块只读的内存区域,常量一旦被初始化就不能被 ...

  8. Python语言快速入门

    Python的主提示符(>>>):是解释器告诉你它正在等待你输入的下一个语句 Python的次提示符(...):告诉你解释器正在等待你输入当前语句的其他部分 [简介] Python( ...

  9. [转]10分钟入门python

    本原创文章属于<Linux大棚>博客,博客地址为http://roclinux.cn.文章作者为Rocrocket Wu. 为了防止某些网站的恶性转载,特在每篇文章前加入此信息,还望读者体 ...

随机推荐

  1. 使用plist的好处

    首先:帮助节省内存.OpenGL ES纹理要求宽和高都是2的n次幂的倍数.我们可以考虑将小的图片拼大图片,然后统一加载.  其次:提高渲染速度.OpenGL ES要求切换的纹理越少越好,将图片拼成大图 ...

  2. Topo软件

    http://jung.sourceforge.net/#! http://www.netdisco.org/ http://sourceforge.net/projects/toponet/ htt ...

  3. perl 公交车查询

    <pre name="code" class="cpp">decode_json 必须是unicode形式的字符,Dump不支持显示unicode形 ...

  4. poj3094---对字符串的处理

    #include <stdio.h> #include <stdlib.h> #include<string.h> int main() { ]; int len, ...

  5. MFC CWnd仿按钮

    CBtn::CBtn() { RegisterWndClass(); } bool CBtn::RegisterWndClass(void) { WNDCLASS n; HINSTANCE hInst ...

  6. deferred initcalls与模块化

    deferred initcalls与模块化 有两个技术可以加快kernel的启动速度: 1.deferred initcalls 2.模块化 它们的思想类似,都是将非必要的模块初始化推迟到内核启动之 ...

  7. Hibernate 报错:this project is not a myeclipse hibernate project . assuming hibernate 3 cap

    问题描述:  web 项目中 打开 hibernate.cfg.xml 文件时 提示:The project is not a myEclipse hibernate project. 并且:在 db ...

  8. Web前端性能优化——高频触发事件的防抖

    JS 提供了行为层的支持,为用户提供了交互的操作性. 然而,部分事件却常常有意无意的被频繁触发.比方浏览器窗体的 resize 事件.某个元素的 mouseover 事件,假设处理触发事件的回调函数过 ...

  9. android的Log日志打印管理工具类(一)

    android的Log日志的打印管理工具类: package com.gzcivil.utils; import android.util.Log; /** * 日志打印管理 * * @author ...

  10. 用SQL脚本移除视图中存在的机器名

    用SQL脚本移除视图中存在的机器名 例子: msccdr.cdr.DimRMAReturnMethod CREATE VIEW CDR.DimRMAReturnMethod ( ReturnMetho ...