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的指针。

  • 相关阅读:
    在日志中记录Java异常信息的正确姿势
    基于Spring Boot架构的前后端完全分离项目API路径问题
    Spring生态简介
    WebSocket协议入门介绍
    Spring Boot程序正确停止的姿势
    python 中 __init__方法
    python中的if __name__ == 'main'
    python 类和实例
    内建模块 datetime使用
    内建模块collections的使用
  • 原文地址:https://www.cnblogs.com/guangliang/p/4351823.html
Copyright © 2011-2022 走看看