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

  • 相关阅读:
    201. Bitwise AND of Numbers Range
    200.Number of Islands
    199. Binary Tree Right Side View
    198. House Robber
    191. Number of 1 Bits
    190. Reverse Bits
    odoo pivot filed字段设置
    postgres 实现查找所有的子记录,child_of
    postgres 查询返回记录集的函数
    python GUI编程/窗口编程之easygui
  • 原文地址:https://www.cnblogs.com/guangliang/p/4351823.html
Copyright © 2011-2022 走看看