`
atomoptics
  • 浏览: 95189 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

C++中的const限定修饰符

阅读更多
<p>const修饰符可以把对象转变成常数对象,什么意思呢? <br />  意思就是说利用const进行修饰的变量的值在程序的任意位置将不能再被修改,就如同常数一样使用!<br />  使用方法是:<font color="#0000ff"><br />const</font> <font color="blue">int</font> a=1;<font color="green">//这里定义了一个int类型的const常数变量a;</font> </p> <p>  但就于指针来说const仍然是起作用的,以下有两点要十分注意,因为下面的两个问题很容易混淆!我们来看一个如下的例子:</p> <p>#include iostream</font>&gt; <font color="blue"><br />using</font> <font color="blue">namespace</font> std; <font color="blue"><br />void</font> <font color="blue">main</font>(<font color="blue">void</font>) <br />{ <font color="blue"><br />const</font> <font color="blue">int</font> a=10; <font color="blue"><br />int</font> b=20; <font color="blue"><br />const</font> <font color="blue">int</font> *pi; <br />pi=&amp;a; <font color="maroon"><br />cout</font> pi=&amp;b; <font color="maroon"><br />cout</font> <br />cin</font>.get(); <br />}<br />  上面的代码中最重要的一句是 const int *pi <br />  这句从右向座读作:<font color="#ffffff">pi是一个指向int类型的,被定义成const的对象的指针</font>; <br />  这样的一种声明方式的作用是<b><font color="#ff0000">可以</font>修改</b>pi这个指针<b>所指向的内存地址</b>却<strong><font color="#ff0000">不能</font>修改指向对象的值</strong>;<br />  如果你在代码后加上*pi=10;这样的赋值操作是不被允许编译的!<br />  好,看了上面的两个例子你对const有了一个基本的认识了,那么我们接下来看一个很容易混淆的用法! <br />  请看如下的代码: <p>#include iostream</font>&gt; </p> <p><font color="blue">using</font> <font color="blue">namespace</font> std; </p> <p><font color="blue">void</font> <font color="blue">main</font>(<font color="blue">void</font>) <br />{ <br /><font color="blue">int</font> a=10; </p> <p><font color="blue">const</font> <font color="blue">int</font> *<font color="blue">const</font> pi=&amp;a; </p> <p><font color="maroon">cout</font> <br /><font color="maroon">cin</font>.get(); <br />}</p> <p> <p>  上面的代码中最重要的一句是 const int *const pi <br />  这句从右向座读作:<font color="#ffffff">pi是一个指向int类型对象的const指针</font>; </p> <p>  这样的一种声明方式的作用是你<b>既<font color="#ff0000">不可以</font>修改pi所指向对象的内存地址</b>也<b><font color="#ff0000">不能</font>利用指针的解引用方式修改对象的值,也就是用*pi=10这样的方式</b>; </p> <p>  所以你如果在最后加上*pi=20,想试图通过这样的方式修改对象a的值是不被允许编译的!</p> <p>  结合上面的两点所说,把代码修改成如下形式后就可以必然在程序的任意的地方修改对象a的值或者是指针pi的地址了,<b>下面的这种写法常被用语涵数的形式参数,这样可以保证对象不会在涵数内被改变值!</b> </p> <p> <p>#include iostream</font>&gt; <br /><font color="blue">using</font> <font color="blue">namespace</font> std; </p> <p><font color="blue">void</font> <font color="blue">main</font>(<font color="blue">void</font>) <br />{ <br /><font color="blue">const</font> <font color="blue">int</font> a=10;<font color="green">//这句和上面不同,请注意! </font> </p> <p><font color="blue">const</font> <font color="blue">int</font> *<font color="blue">const</font> pi=&amp;a; </p> <p><font color="maroon">cout</font> <br /><font color="maroon">cin</font>.get(); <br />}</p> <p></p>
分享到:
评论

相关推荐

    C++:浅谈修饰符const

    在C++编程语言中,const是一个非常重要的修饰符,它用于声明一个变量为常量。这个修饰符的主要作用是确保变量的值在程序执行期间不会被改变,以增强程序的可读性和安全性。以下是关于const修饰符的详细知识点: 1. ...

    C++中const关键字详解

    - **修饰顺序**: `const`修饰符的顺序很重要。例如,`const int *p`和`int const *p`表示相同的含义,都是指向`const int`的指针;而`int *const p`则表示指向`int`的`const`指针。 - **指针和对象的区别**: `const`...

    C++ 中const 类型限定符不兼容问题

    在C++编程语言中,`const`类型限定符是一个非常重要的特性,用于声明变量、函数参数或成员函数不可变。然而,在实际编程过程中,我们可能会遇到`const`类型的不兼容问题,这通常涉及到对`const`修饰的成员函数的调用...

    C++中的函数修饰符深入讲解

    在C++编程语言中,函数修饰符是用来控制函数行为的关键字。这些修饰符可以在函数声明时添加,以改变函数的特性、行为或访问权限。在本文中,我们将深入探讨C++中的函数修饰符,分为函数名前和函数名后两大类别。 ##...

    c++中const用法详解

    ### C++中`const`关键字的详尽解析与应用实例 #### 一、`const`基本用法 **1.1 限定符声明变量只能被读** `const`关键字用于声明一个只读变量,这意味着一旦该变量被初始化后,其值就不能被更改。例如: ```cpp ...

    详解C++中const_cast与reinterpret_cast运算符的用法

    然而,需要注意的是,const_cast只适用于指针和引用类型,而且不能用来修改const修饰的临时对象或通过顶层const限定的值。使用const_cast修改const数据时,必须确保有权限修改该数据,否则可能导致未定义的行为。 ...

    C++ const使用详解

    C++ 中的 const 关键字是非常重要的,它可以用来修饰变量、指针、函数参数、返回值、成员函数等,具有非常多的用途。下面将对 const 的使用做详细的解释。 一、const 基础 const 关键字可以用来修饰变量、指针等,...

    指针与const限定符的使用分析

    在C++编程语言中,`const`限定符是一种非常重要的工具,它用于限制变量、函数参数或对象的可修改性。在与指针结合使用时,`const`可以帮助我们更好地控制程序中的数据安全,防止不必要的修改,提升代码的可读性和可...

    const,extern,static,volatile的使用

    `const` 关键字在 C 和 C++ 编程语言中非常常见,它用来声明一个常量或者指定某个变量的某个方面为不可变。使用 `const` 可以提高代码的健壮性和可读性。 - **提高代码安全性**:通过限制对某些数据的修改,可以...

    简单总结C++中的修饰符类型

    在C++编程语言中,修饰符是用于扩展和定制基本数据类型的关键元素,它们使得开发者能够更加精确地控制变量的属性。本篇文章将详细讲解C++中的修饰符类型及其用法,这对于C++初学者来说是非常重要的基础知识。 首先...

    C/C++ 中const关键字的用法小结

    在C/C++编程中,`const`关键字是一个非常重要的元素,它用来声明常量和限定变量的可修改性。理解并正确使用`const`能够提高代码的可读性、健壮性和效率。以下是对`const`关键字不同用法的详细说明: 1. **定义常量*...

    一个月挑战 C++ 语言 教程 书籍 .txt 格式

    文件 .txt 格式,方便编辑,打印 01.C_C++中利用数组名指针进行排序实例.txt ...03.入门教程C++中的const限定修饰符.txt ... 有空多去去 http://meooo.download.csdn.net/ 也许有你喜欢东西和书籍......

    C++中const的实现细节介绍(C,C#同理)

    - 在类的成员函数声明中,`const`修饰符后的成员函数被称为“常成员函数”,它们不能修改对象的非静态成员变量,除非这些变量也是`mutable`的。 - 使用`const_cast`可以解除`const`限定,但这样做通常意味着违反了...

    C/C++中CONST用法总结(推荐)

    在C/C++编程中,`const`关键字是一个非常重要的元素,它用于定义常量和限定对象的行为。以下是对`const`用法的详细说明: 1. **修饰常量**: 当`const`用于声明变量时,它表示该变量是一个常量,其值在声明后不可...

    一个月挑战C++

    书中详细讲解了const限定修饰符的使用,以及如何在C++中使用内联函数、虚函数和运算符重载等特性来增强代码的功能和灵活性。 面向对象编程是C++的一个核心特性,本书专设章节进行入门级讲解。这包括类(class)的基本...

    C++关键字和操作符替代名

    15. **const_cast**:用于去除const或volatile限定符。 16. **continue**:跳过当前循环迭代的剩余部分,继续下一次迭代。 17. **default**:用于初始化列表或switch语句中的默认分支。 18. **delete**:释放...

    Const,Const函数,Const变量,函数后面的Const.txt

    在C++编程语言中,`const`关键字是一种类型限定符,被广泛用于提升代码的安全性与可读性。本文将深入探讨`const`的不同用法及其背后的原理。 #### 1. `const`修饰参数 - **基本概念**:`const`修饰一个变量时,...

    const data彻底研究

    通过本文对C++中`const data`的深入研究,我们不仅了解了`const`修饰符在不同上下文中的应用及其带来的优势,还掌握了其背后的内存管理与访问控制机制。`const`数据不仅是编程实践中安全性与效率的重要保障,也是...

Global site tag (gtag.js) - Google Analytics