pr14029.c
来自「Mac OS X 10.4.9 for x86 Source Code gcc」· C语言 代码 · 共 42 行
C
42 行
// { dg-do run }// { dg-options "-O2" }// We used to mis-compile this testcase as we did not know that// &a+offsetof(b,a) was the same as &a.bstruct Iterator { int * ptr; Iterator(int * i) : ptr(i) { } void operator++() { ++ptr; } int *const & base() const { return ptr; }};Iterator find_7(Iterator first, Iterator last){ int trip_count = (last.base() - first.base()) >> 1; for ( ; trip_count > 0 ; --trip_count) { if (*first.ptr == 7) return first; ++first; if (*first.ptr == 7) return first; ++first; } switch(last.base() - first.base()) { case 1: if (*first.ptr == 7) return first; ++first; case 0: default: return last; }}int main() { int as[5] = {4,4,4,4,7}; return (find_7(Iterator(&as[0]), Iterator(&as[5])).ptr == &as[5]);};
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?