zoukankan      html  css  js  c++  java
  • 指针和const

    将指针参数声明为指向常量数据的指针有两条理由:

         这样可以避免由于无意间修改数据而导致的编译错误。

         使用const使得函数能够处理const和非const实参,否则将只能接收非const数据。

         如果条件允许,则应将指针形参声明为指向const的指针。

    可以有两种不同的方式将const关键字用于指针:

    (1)让指针指向一个常量对象、这样可以防止使用该指针来修改所指向的值

             int age=39;

             const int *pt=&age;

    该声明中的const只能防止修改pt所指向的值,而不能防止修改pt指向的值。也就是说可以将一个新地址赋给pt

    (2)将指针本省声明为常量,这样可以防止改变指针指向的位置

              int sloth=3;

             const int *ps=&sloth;

             int *const finger=&sloth;

       在声明中,finger只能指向sloth,但允许使用finger来修改sloth的值。中间的声明不允许使用ps来修改sloth的值,但允许将ps指向另一个位置,简而言之,finger和*ps都是const,但*finger和ps不是。

    记住:如果数据类型本身并不是指针,则可以将const数据或非const数据的地址赋给指向const的指针,但只能将非const数据的地址赋给非const的指针。

  • 相关阅读:
    svn备份
    Java Web开发引用包的方法
    nucht1.2二次开发增量采集
    程序集信息设置.net
    lucene的基本查询及lucene3.0.1API
    Asp.net网站部署
    C语言面试算法题(一)
    面试题
    C语言面试算法题(二)
    C++的IO流的函数
  • 原文地址:https://www.cnblogs.com/guangliang/p/4351823.html
Copyright © 2011-2022 走看看