| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> C/C++ const简解——const的各种位置记录说明 -> 正文阅读 |
|
[数据结构与算法]C/C++ const简解——const的各种位置记录说明 |
const的位置摆放
序言相信很多人总是容易忘记const放哪个位置是什么意思,我也是,所以特地记录下const关键字的用法。 const int variate 与 int const variate修饰int,表示variate不可修改,普通变量需要直接初始化。
如果是非静态的类成员变量,可通过构造函数初始化
. static const int variate 与 static int const variate修饰int,表示variate不可修改,与静态普通变量一样需要直接初始化。
如果是静态的类成员变量,需在类外进行初始化
. const int * pointer与int const * pointer修饰int,修饰指向的内容,使指向的内容不可修改,
通俗来说,就是这个指针指向的,不能改变值,是只读的,但是指向可以指向另一个值的地址。 . int * const pointer修饰*,修饰指向的地址,使指向的地址不可修改,
通俗来说,就是这个指针指向的,不能改变地址,但是改变它的值。 int const function()与const int function()int const &function()与const int &function()修饰int的返回值,按理说是想表明返回值不可修改,即返回的值都不准改变,如果是和返回值一致的变量来赋值的话,确实可以。 但是这更多像是无病呻吟,因为如果我将返回值赋值到一个int类型的一样可以,这是因为隐式转换的结果。
. const int * function()与int const * function()其实与指针的 这个返回值必须使用相同类型进行赋值。 修饰返回值指针所指向的值,使其不可更改,但是这个指针可以随时指向其它的地址。
. int * const function()其实与 这个返回值必须使用相同类型进行赋值。 修饰返回值指针所指向的地址,使其不可更改,但是这个指针的值可以任意更改。 void function( const 参数 )参数的与上文所述普通的变量,引用,指针的const用法一致,看上文对应的作为参数即可。 void function() const放在函数后面的const是修饰函数,而实际是修饰传进来的this指针。 在函数后面放const只能修饰非静态的成员函数,静态及普通函数都会编译错误。 因为这个const根本就不是修饰函数,你可以认为这是修饰传进来的this指针的类型,其作用就是表明,这个函数里,任何修改成员变量的代码都是无法编译通过的。
如果有任何错误的地方或者漏的地方,欢迎留下评论或者私聊跟我说,若真是错的我立即改正,漏的我立即补充。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 10:04:20- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |