当前位置: 首页 > news >正文

C++面试,const的使用

#include <iostream>
#include <cstring>int main() {const int x = 1;int b = 10;int c = 20;const int* a1 = &b;int* const a2 = &b;const int* const a3 = &b;x = 2;a1 = &c;*a1 = 1;a2 = &c;*a2 = 1;a3 = &c;*a3 = 1;return 0;
}

错误1:

x=2,由于变量x为整型常量,因此不能改变x的值。

错误2:

a1定义为const int* 类型,这里的const在int*的左侧,它是用来修饰指针所指向的变量,即指针指向为常量。所以 a1=&c,这个操作是可以的,但是*a1=1,改变了指向的内容是不允许的。

错误3:

a2定于为int* const类型,注意这里的const在int*的右侧,它是用来修饰指针本身的,即指针本身为常量。所以a2=&c,这个操作是不可以的,但是*a2=1,修改了指向的内容是可以的。

错误4:

a3定义为const int* const 类型,这里的两个const分别出现在int*的左侧和右侧,因此它表示不仅指针本身不能修改,并且其指向的内容也不能修改。所以关于a3的几个操作都是错误的。

http://www.lryc.cn/news/242610.html

相关文章:

  • 小总结----长度
  • 【深度学习】如何选择神经网络的超参数
  • jQuery 3.0 新增了哪些特性?(jQuery 3 所引入的那些最重要的变化)
  • MindStudio学习一 整体介绍
  • excel表中慎用合并单元格,多用跨列居中
  • linux网络编程之UDP编程
  • YB4556 28V、1A、单节、线性锂电池充电IC
  • 基于单片机设计的大气气压检测装置(STC89C52+BMP180实现)
  • 【ChatGLM3-6B】Docker下部署及微调
  • 编程常见报错信息及解决方案汇总
  • 从Redis反序列化UserDetails对象异常后发现FastJson序列化的一些问题
  • 0001Java程序设计-springboot基于微信小程序批发零售业商品管理系统
  • 中国防锈油市场深度调研与投资战略报告(2023版)
  • Linux C 基于tcp和epoll在线聊天室
  • 为什么要隐藏id地址?使用IP代理技术可以实现吗?
  • 前端(HTML + CSS + JS)
  • 12 要素 12 Factor
  • 十大排序之冒泡排序与快速排序(详解)
  • 【SpringBoot篇】阿里云OSS—存储文件的利器
  • Leetcode—58.最后一个单词的长度【简单】
  • Apach Ozone部署
  • 【nlp】3.2 Transformer论文复现:1. 输入部分(文本嵌入层和位置编码器)
  • 自动化部署 / 扩容openGauss —— Ansible for openGauss
  • Go 实现网络代理
  • Redis报错:JedisConnectionException: Could not get a resource from the pool
  • 【广州华锐互动】Web3D云展编辑器能为展览行业带来哪些便利?
  • Vue项目实战之一----实现分类弹框效果
  • Vue解析器
  • Spring Cloud 版本升级遇坑记:OpenFeignClient与Gateway的恩怨情仇
  • 面试:Docker相关问题