C++ const关键字修饰引用
//const修饰引用的两种用法
#include<iostream> using namespace std; struct Teacher{
char name[];
int age;
}; void SetA(const Teacher &t1){
//t1.age = 13;
//报错 error C3490: 由于正在通过常量对象访问“age”,因此无法对其进行修改
} void main(){
//第一种用法
Teacher t;
t.age = ;
SetA(t); //第二种用法
//int &b = 10;
//报错 error C2440: “初始化”: 无法从“int”转换为“int &”
//因为引用本质上是个常指针 无法对字面量10取地址 所以报错
const int &b = ; //当使用常量(字面量)对const引用进行初始化时,C++编译器会为常量值分配内存空间,
//并将这段内存空间的地址赋值给引用
//b = 11;
//报错 error C3892: “b”: 不能给常量赋值
system("pause");
}
C++ const关键字修饰引用的更多相关文章
- java中的 final 关键字 修饰引用时的问题
final使得被修饰的变量”不变”,但是由于对象型变量的本质是“引用”,使得“不变”也有了两种含义:引用本身的不变,和引用指向的对象不变. 引用本身的不变: final StringBuffer a= ...
- C++ 左值引用与 const 关键字
左值引用是已定义的变量的别名,其主要用途是用作函数的形参,通过将左值引用变量用作参数,函数将使用原始数据,而不是副本.引用变量必须在声明时同时初始化,可将 const 关键字用于左值引用,如下所示: ...
- C++ 右值引用与 const 关键字
C++11 新增了另一种引用:右值引用(rvalue reference),这种引用可指向右值,是使用 && 声明的.使用右值引用可以减少复制操作,延长临时对象生命周期,提升程序性能. ...
- C/C++中const关键字的用法及其与宏定义的比较
1.const关键字的性质 简单来说:const关键字修饰的变量具有常属性. 即它所修饰的变量不能被修改. 2.修饰局部变量 ; ; 这两种写法是等价的,都是表示变量的值不能被改变,需要注意的是,用c ...
- const关键字到底该怎么用
原文地址:https://www.yanbinghu.com/2019/01/28/7442.html 前言 我们都知道使用const关键字限定一个变量为只读,但它是真正意义上的只读吗?实际中又该如何 ...
- C/C++中const关键字的用法及其与宏常量的比较
1.const关键字的性质 简单来说:const关键字修饰的变量具有常属性. 即它所修饰的变量不能被修改. 2.修饰局部变量 ; ; 这两种写法是等价的,都是表示变量的值不能被改变,需要注意的是,用c ...
- C语言学习及应用笔记之三:C语言const关键字及其使用
在C语言程序中,const关键字也是经常会用到的一个关键字,那么使用const关键字的目的是什么呢?事实上,在程序中使用const关键字的主要目的就是为了向使用者传递设计者的一些意图. 事实上,无论我 ...
- C/C++经典面试题1,const关键字用法总结
本文主要说明了const关键字的作用,包括了用于对数组,指针与类相关的修饰方法,作为笔记总结使用.若有错误与不足,欢迎指正. const关键字 用于修饰一个常类型,常类型的变量或对象的值无法被改变,即 ...
- C语言const关键字的作用
1 #define _CRT_SECURE_NO_WARNINGS 2 #include <stdio.h> 3 #include <string.h> 4 #include ...
随机推荐
- Edit Control响应全选(Ctrl+A)
MFC中的Edit控件用于输入数据,当输入的数据为大段数字的时候,全选功能就显得非常重要了,可偏偏在MFC中Edit控件就不 支持全选.Ctrl+A不行,双击也不行. Ctrl+C和Ctrl+V都是默 ...
- servlet awt随机图片验证码
package rd.test; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java. ...
- jsp标签(jsp动作元素)
<jsp:forward page=”/index.jsp”></jsp:forward>也是跳转. 可以用来配置为首页,来启动某个servlet. <jsp:inclu ...
- PHP 通过LDAP协议,操作Windows Active Directory
原文地址:http://hi.baidu.com/lllangxx/item/3ccb7cdfa13b56eb3dc2cb39 一.学习如何管理Active Directory Active Dire ...
- NTP服务及时间同步(CentOS6.x)(转)
今有一小型项目,完全自主弄,原来以为很简单的NTP服务,我给折腾了2个多小时才整撑头(以前都是运维搞,没太注意,所以这技术的东西,在简单都需要亲尝啊),这里记录为以后别再浪费时间. 目标环境,5台li ...
- Android软件开发之EditText 详解
EditText在API中的结构 java.lang.Objectandroid.view.Viewandroid.widget.TextView android.widget.Edit ...
- HTML5 学习笔记 应用程序缓存
使用html5 通过创建cache manifest文件,可以轻松地创建web应用的离线版本. html5引入了应用程序缓存,这意味着web应用可进行缓存,并可在没有因特网连接时进行访问. 应用程序缓 ...
- (Windows Maven项目)Redis数据库的安装和操作实现
Redis是一个内存数据库,他会把你写入当中的数据缓存到内存中,之后会周期性的往磁盘中写入.这篇文章中介绍的是在Windows环境下利用Maven工具编译运行Java文件实现Red ...
- 用sp_lock诊断SQL Sever的死锁问题
找出什么被锁定了 系统的反应迟缓意味着你应该做一些调查了.你的查找最好从测定系统发生锁定的数量和频率开始.如果你的系统环境处理事务性很高的话,这样各个应用程序争夺资源就会很常见,从而引起锁定.解决这些 ...
- Docker搭建本地私有仓库
安装部署一个私有的Docker Registry是引入.学习和使用Docker这门技术的必经之路之一.尤其是当Docker被所在组织接受,更多人.项目和产品开始接触和使用Docker时,存储和分发自制 ...