zoukankan      html  css  js  c++  java
  • const void *a 与 void *const a 的差别

    const void *a

    这是定义了一个指针a,a能够指向随意类型的值,但它指向的值必须是常量。

    在这样的情况下,我们不能改动被指向的对象,但能够使指针指向其它对象。

    比如:

    const void *a;*a=0x123;//是编译通只是的,由于*a中放的是个const值。

    const值是不能被改变的。

    const int  m=1;     const int n=2;

    a=&m;    a=&n;//编译能够通过。

     

    void* const  a

    这是定义了一个const指针a。a能够指向随意类型的值,但a是指向某个对象的常量指针。

    我们不能改动指针中存储的地址。但能够改动指针指向的对象。

    比如:

    void* const  a;这个定义:*a=0x123;是没问题的,

    可是a=(void*)&b;是不行的。由于a是const变量。

    如:

    int  m=1;     nt n=2;

    a=&m;    a=&n;//编译不成功。

     

    能够这么说。const void *a;中const修饰的是*a。在void* const  a中,const 修饰的是a。

  • 相关阅读:
    codeforces 1215 E Marbles-----状压DP
    留坑待填
    Catalan数
    砝码称重
    约数和
    硬币题解
    迎春舞会之数字舞蹈
    过剩数
    猜测棋局
    [NOIP普及组2014第三题]螺旋矩阵
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/5133356.html
Copyright © 2011-2022 走看看