广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C++ const关键字分析详解
  • 654
分享到

C++ const关键字分析详解

2024-04-02 19:04:59 654人浏览 泡泡鱼
摘要

目录C语言中修饰变量C语言中修饰指针变量C语言中修饰函数的参数c++中修饰变量C++中修饰函数的参数C++中修饰函数的返回值C++中修饰类的成员函数C++中修饰类的成员变量总结C语言

C语言中修饰变量

在C语言中,被const修饰的是一个不能被修改的变量。

C语言中修饰指针变量


#include <stdio.h>
//代码1
void test1()
{
	int n = 10;
	int m = 20;
	int *p = &n;
	*p = 20;//ok
	p = &m; //ok
}
void test2()
{
	//代码2
	int n = 10;
	int m = 20;
	const int* p = &n;
	*p = 20;//err
	p = &m; //ok
}
void test3()
{
	int n = 10;
	int m = 20;
	int *const p = &n;
	*p = 20; //ok
	p = &m; //err
}
int main()
{
	//测试无cosnt的
	test1();
	//测试const放在*的左边
	test2();
	//测试const放在*的右边
	test3();
	return 0;
}

结论:

1.const如果放在*的左边,修饰的是指针指向的内容,保证指针指向的内容不能通过指针来改
变。但是指针变量本身的内容可变。

2.const如果放在*的右边,修饰的是指针变量本身,保证了指针变量的内容不能修改,但是指
针指向的内容,可以通过指针改变。

C语言中修饰函数的参数

C语言中修饰函数的返回值

C++中修饰变量

在C++中,被const修饰的已经是一个常量,而且具有宏替换的属性。


void TestConst()
{
    const int a = 10; 
    int*pa =(int*)&a;
    *pa = 100;
    cout<<a<<endl;//10
    //但是a的值已经是100原因:在编译阶段,编译器已经将a用10替换了 
    cout <<*pa <<endl; // 100
}

const修饰的常量的替换发生在编译阶段,会参与参数类型检测,代码的安全性更高。
建议:在C++中使用const修饰的常量代替宏常量。

C++中修饰函数的参数

结论:修饰的是形参,表明在函数中不能对形参进行修改。

C++中修饰函数的返回值

结论:表明返回值不能修改,即在外部接收返回值时,只能以const类型的指针接受。

C++中修饰类的成员函数

结论:本质是在修饰成员函数的this指针,即this指针指向对象中的内容就不能被修改。

C++中修饰类的成员变量

结论:该成员变量不能修改,而且必须要在构造函数初始化列表的位置访问。

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注编程网的更多内容!

--结束END--

本文标题: C++ const关键字分析详解

本文链接: https://www.lsjlt.com/news/133912.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C++ const关键字分析详解
    目录C语言中修饰变量C语言中修饰指针变量C语言中修饰函数的参数C++中修饰变量C++中修饰函数的参数C++中修饰函数的返回值C++中修饰类的成员函数C++中修饰类的成员变量总结C语言...
    99+
    2022-11-12
  • c++关键字const的用法详解
    目录C语言const的用法1、指向常量的指针变量const int *p指针指向int a;2、常指针(常地址)int * const p指针指向int a;3、指向常量的常指针co...
    99+
    2022-11-12
  • C#中的const和readonly关键字详解
    const和readonly经常被用来修饰类的字段,两者有何异同呢? const 1、声明const类型变量一定要赋初值吗? 一定要赋初值 public class Student ...
    99+
    2022-11-13
    C# const关键字 readonly关键字
  • const关键字实例分析
    本文小编为大家详细介绍“const关键字实例分析”,内容详细,步骤清晰,细节处理妥当,希望这篇“const关键字实例分析”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。   co...
    99+
    2022-10-19
  • C语言详细分析讲解关键字const与volatile的用法
    目录一、const 只读变量二、const 全局变量的分歧三、const 的本质四、const 修饰函数参数和返回值五、volatile 解析六、小结一、const 只读变量 con...
    99+
    2022-11-13
  • C++ 右值引用与 const 关键字详解
    C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,const关键字是一种修饰符。修饰符本身,并不产生任何实际代码。就 const 修饰符而言,它用来告...
    99+
    2022-11-13
  • 详解C++ 左值引用与 const 关键字
    左值引用是已定义的变量的别名,其主要用途是用作函数的形参,将 const 关键字用于左值引用时,其在初始化时可接受的赋值形式变得更加广泛了,这里来总结一下。 左值引用是已定义的变量的...
    99+
    2022-11-13
  • 剖析C语言关键字之void,const,return
    目录returnvoid一.可做为函数的通用接口二.void不能修饰变量三.void修饰函数返回值const总结return 首先我们弄清楚c语言内存分配的方式 然后我们看一段代码...
    99+
    2022-11-12
  • C++ Explicit关键字详细解析
    explicit关键字用来修饰类的构造函数,表明构造函数是显示的,相对的是implicit关键字。首先这个关键字只能用在类内部的构造函数声明上,而不能用在类外部的函数定义上,它的作用...
    99+
    2022-11-15
    Explicit 关键字
  • 如何分析C语言关键字中的void、const和return
    这篇文章将为大家详细讲解有关如何分析C语言关键字中的void、const和return,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。return首先我们弄清楚c语言内存分配的方式然后我们看一...
    99+
    2023-06-22
  • C/C++中static,const,inline三种关键字详细总结
    一、关于staticstatic 是C++中很常用的修饰符,它被用来控制变量的存储方式和可见性,下面我将从 static 修饰符的产生原因、作用谈起,全面分析static 修饰符的实...
    99+
    2022-11-15
    static inline const
  • C++11 关键字 const 使用小结
    Const 的作用及历史 const (computer programming) - Wikipedia 一、历史 按理来说,要想了解一件事物提出的原因,最好的办法就是去寻找当时的...
    99+
    2022-11-12
  • C++11关键字const怎么使用
    本篇内容主要讲解“C++11关键字const怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C++11关键字const怎么使用”吧!一、历史按理来说,要想了解一件事物提出的原因,最好的办法...
    99+
    2023-06-25
  • C++中引用和const关键字介绍
    目录引用常引用const关键字用法1)定义常量2)定义常量指针3)定义常引用总结引用 下面的写法定义了一个引用,并将其初始化为引用某个变量。类型名 & 引用名 = 某变量名;...
    99+
    2022-11-13
  • C++关于const与引用的分析讲解
    目录一、关于 const 的疑问二、关于引用的疑问三、小结一、关于 const 的疑问 const 什么时候为只读变量?什么时候是常量? const 常量的判别准则 只有用字面量初始...
    99+
    2022-11-13
  • C++中引用和const关键字怎么用
    今天小编给大家分享一下C++中引用和const关键字怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。引用下面的写法定义了...
    99+
    2023-06-29
  • C语言中的Const关键字怎么用
    这篇“C语言中的Const关键字怎么用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C语言中的Const关键字怎么用”文章吧...
    99+
    2023-06-29
  • C语言关键字const与volatile怎么用
    今天小编给大家分享一下C语言关键字const与volatile怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、con...
    99+
    2023-06-30
  • C/C++中的static关键字详解
    目录C/C++ 中的 static1. 静态局部变量2. 静态全局变量3. static 修饰函数C++的 static 成员静态成员变量 静态成员函数总结:static是...
    99+
    2022-11-13
  • Android关键字persistent详细分析
    目录Android关键字persistent原理分析​persistent属性作用 使用 二、原理分析 1、persistent属性的解析 2、系统启动时启动persis...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作