zoukankan      html  css  js  c++  java
  • const 常引用

    常类型是指使用类型修饰符 const 说明的类型,常类型的变量或对象的值是不能被更新的。

    这篇主要说常引用。常引用是指所引用的对象不能被更新。

    在实际应用中,常引用往往用来作为函数的形参,这样的参数称为常参数。在C++语言面向对象的程序设计中,引用的使用还是比较多的,其中使用 const 修饰的常引用使用的更多。使用常参数表明该函数不会更新某个参数所指向或所引用的对象,这样,在参数传递过程中就不需要执行复制构造函数,这将会改善程序的运行效率。

    示例:

     1 #include <iostream.h>
     2 const int N = 6;
     3 void print(const int *p, int n);
     4 void main()
     5 {
     6     int array[N];
     7     for(int i = 9; i < N; i++)
     8         cin>>array[i];
     9     print(array, N);
    10 }
    11 void print(const int *p, int n)
    12 {
    13     for(int i = 0; i < n; i++)
    14         cout<<*(p + i);
    15 }

     该程序中有一个问题:print() 函数中,实参 array 是一个 int 型数组名,形参是 const 的指针,显然类型不相同,但却没有出现类型错误。这是因为形参虽然指向一个非 const int 型数组,该数组是可以更新的,但在 print() 函数中不能被更新。因此,一个能够更新的变量使用在一个不能被更新的环境中不破坏类型保护,所以不会出现类型不匹配的错误。 

    一种类型的变量或对象能够用于另一种类型的变量或对象可以使用的环境,这一特性被称为类型适应。

    当你坚持做一件完全正确的事情,有可能在很长一段时间内,你的价值都是零。
  • 相关阅读:
    Python 学习日记 第七天
    Python 学习日记 第六天
    Python 学习日记 第五天
    Python 学习日记 第四天
    Redis 中的数据类型及基本操作
    Asp.net mvc 中View 的呈现(二)
    Asp.net mvc 中View的呈现(一)
    Asp.net mvc 中Action 方法的执行(三)
    Asp.net mvc 中Action 方法的执行(二)
    Asp.net mvc 中Action 方法的执行(一)
  • 原文地址:https://www.cnblogs.com/lweleven/p/const.html
Copyright © 2011-2022 走看看