zoukankan      html  css  js  c++  java
  • [C++]const、typedef联合使用注意

          consttypedefC++使用是非常繁,各自的使用方式本来就很多,当它们两个同时

    使用来进行定义时候,可能会出现一些误解下面举例说明这一点。 

     

    typedef char * pStr;
    
    char string[4] = "abc";
    
    const char *p1 = string;
    
    const pStr p2 = string;
    
    p1++;
    
    p2++;

          编译时p2++出错了。这个问题再一次提醒我们:typedef#define不同,它不是简单的文本替换。

    const pStr p2 等价于 char *constp1 pStrtypedef义为了一个char *类型,即pStr是一个

    字符指针类型,那么const pStr p2中的const修饰的就是字符指针(p2),而不是对象(*p2)。

    所以const pStr p2 也可以写成pStr const p2

          在我时阅读C++程序中,习惯看到的是const放在型的前面。于是遵照例,只好建议

    编程时把const放在类型前面。但是,把声明语句重写为置const于类型之后更便于理解。

  • 相关阅读:
    百度诉360案一审宣判索赔1亿判赔70万
    软件设计之状态机
    linux下so获得自己文件位置的路径
    openssh-server
    安卓下查看kmsg内核日志
    Python kmean
    numpy
    HostMonitor监控主机状态
    ubuntu MySQL安装和设置
    Python Post img
  • 原文地址:https://www.cnblogs.com/dirt2/p/const_typedef.html
Copyright © 2011-2022 走看看