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于类型之后更便于理解。

  • 相关阅读:
    查找整数
    Ling To Xml 学习之 对xml增、删、改、查
    JS获得鼠标
    xml之数据岛绑定到表格
    C# 三种序列化[转]
    编程字体
    Oracle 、C#
    提示信息Javascript
    几个好用的日历控件
    收藏网站
  • 原文地址:https://www.cnblogs.com/dirt2/p/const_typedef.html
Copyright © 2011-2022 走看看