免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1521 | 回复: 2
打印 上一主题 下一主题

[C++] 哪位大侠帮我看看这种成员函数的声明是什么意思,先谢谢了, [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-05-08 11:08 |只看该作者 |倒序浏览
小弟最近在看click的源代码,看到有些类的一些成员函数的声明后面还有一个枚举变量(函数定义跟普通函数是一样的,也没有用到这个枚举变量),不理解,网上也没搜到这种用法(可能小弟太菜不大会搜^_^),望哪位大侠能在C++语法上给解解惑,不胜感激!
下面是其中的一段:

    enum {
        DEFAULT_HEADROOM = default_headroom,
        MIN_BUFFER_LENGTH = min_buffer_length,
        addr_anno_offset = 0,
        addr_anno_size = 16,
        user_anno_offset = 16,
        user_anno_size = 32,
        ADDR_ANNO_SIZE = addr_anno_size,
        USER_ANNO_SIZE = user_anno_size,
        USER_ANNO_U16_SIZE = USER_ANNO_SIZE / 2,
        USER_ANNO_U32_SIZE = USER_ANNO_SIZE / 4,
        USER_ANNO_U64_SIZE = USER_ANNO_SIZE / 8
    } CLICK_DEPRECATED;

    inline const unsigned char *buffer_data() const CLICK_DEPRECATED;
    inline void *addr_anno() CLICK_DEPRECATED;
    inline const void *addr_anno() const CLICK_DEPRECATED;
    inline void *user_anno() CLICK_DEPRECATED;
    inline const void *user_anno() const CLICK_DEPRECATED;
    inline uint8_t *user_anno_u8() CLICK_DEPRECATED;


[ 本帖最后由 xintao_1985 于 2009-5-8 11:14 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2009-05-08 14:26 |只看该作者
下面两个写法等效, 所以对比一下int n的位置, 您就了解这个写法的意义了吧.
不过您这个代码很囧


  1. void test( int n )
  2. {
  3. }

  4. void test()
  5.    int n;
  6. {
  7. }
复制代码


另外 void test( int n );
声明的时候可以省略n,
void test( int );

[ 本帖最后由 styleplus 于 2009-5-8 14:28 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2009-05-08 17:34 |只看该作者

回复 #2 styleplus 的帖子

好像有那么点意思,不过CLICK_DEPRECATED是一个枚举变量而不是一个枚举类型,又让我有点纳闷了。不管怎么样,谢谢styleplus 的指导!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP