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

    1.指向const对象的指针

    const int *i;

    表示 指向int型的指针, 允许给i重新赋值,指向另一个const int型对象,但不允许通过i修改其所指向对象的值。 把一个const对象的地址赋给一个普通的 非const对象的指针也会导致编译时的错误。

    允许把非const对象的地址赋给指向const对象的指针。

    2. const指针  本身的值不能修改。

    int *const i; //i 是指向int型对象的const指针。

    int inum=9;

    i=&inum;

    const指针的值不能修改,即不能使 i 指向其他的对象。任何企图给const指针赋值的行为 都会导致编译错误。

    指针本身是const的事实并没有说明是否能使用该指针修改它所指向的对象的值。 指针所指向的对象的值能否修改完全取决于该对象的类型。

    3. 指向const对象的const指针

    const double pi= 3.14159;

    const double *const pi_ptr=π

    本例中 ,既不允许修改pi_ptr所指向的对象的值,也不允许修改该指针的指向(即pi_ptr中存放的地址值)。

    const 成员函数

    bool same_isbn(const Sales_item &rhs) const

    { return isbn== rhs.isbn;}

    const 改变了隐含的this形参的类型。

  • 相关阅读:
    ny 58 最少步数 (BFS)
    Oracle 参数文件
    Oracle 密码文件
    Oracle 表空间与数据文件
    Oracle 回滚(ROLLBACK)和撤销(UNDO)
    Oracle 控制文件(CONTROLFILE)
    Oracle 联机重做日志文件(ONLINE LOG FILE)
    Oracle 常用目录结构(10g)
    Oracle 归档日志
    instance_name,db_name,oracle_sid之间的关系
  • 原文地址:https://www.cnblogs.com/nimo299/p/2287202.html
Copyright © 2011-2022 走看看