switch fall-through
来源:互联网 发布:it监控 编辑:程序博客网 时间:2024/04/30 11:36
最近看leveldb代码
util/hash.cc实现有这么一段代码
uint32_t Hash(const char* data, size_t n, uint32_t seed) { // Similar to murmur hash const uint32_t m = 0xc6a4a793; const uint32_t r = 24; const char* limit = data + n; uint32_t h = seed ^ (n * m); // Pick up four bytes at a time while (data + 4 <= limit) { uint32_t w = DecodeFixed32(data); data += 4; h += w; h *= m; h ^= (h >> 16); } // Pick up remaining bytes switch (limit - data) { case 3: h += static_cast<unsigned char>(data[2]) << 16; FALLTHROUGH_INTENDED; case 2: h += static_cast<unsigned char>(data[1]) << 8; FALLTHROUGH_INTENDED; case 1: h += static_cast<unsigned char>(data[0]); h *= m; h ^= (h >> r); break; } return h;}
// The FALLTHROUGH_INTENDED macro can be used to annotate implicit fall-through// between switch labels. The real definition should be provided externally.// This one is a fallback version for unsupported compilers.#ifndef FALLTHROUGH_INTENDED#define FALLTHROUGH_INTENDED do { } while (0)#endif
其实这个宏就是啥都不干的意思,之所以写这个宏,只是为了说明当前case执行完后,不break,而是fall throuth到下一个case里
FALLTHROUGH_INTENDED
阅读全文
0 0
- Switch Fall Through
- switch fall-through
- fall through switch的用法
- switch 结构的 fall through
- Fall through the cracks
- break的fall through
- fall through C语言的一个失误
- swift:continue,break,fall through,return 简单说明
- Plug-in, Switch On, Fall Over: Adventures with the Open Tools API
- Fall Regimen
- Fall in Madrid
- 坠入(Fall)赏析
- Data Structures, Fall 2007
- 2013Fall 申请总结
- zoj3299 Fall the Brick
- fall-2016-网络程序设计心得体会
- Fall Into Fire
- switch
- 外观模式
- Logistic回归原理
- Sum All Odd Fibonacci Numbers
- poj日记(2965)java
- FCN-加载训练与测试数据
- switch fall-through
- [leetcode]第13周作业
- 求助,不知道错那里了。
- 自编码器简介
- sources.list文件
- Java基础知识学习之路-06-第五章-面向对象(上)
- echarts版百分比堆叠柱状图
- 第13周 Longest Continuous Increasing Subsequence
- Lucene之索引的增删改查-yellowcong