spec36.c

来自「this is a gcc file, you can download it 」· C语言 代码 · 共 47 行

C
47
字号
// Copyright (C) 2000 Free Software Foundation, Inc.// Contributed by Nathan Sidwell 18 Jan 2001 <nathan@codesourcery.com>// Bug 1617. We didn't resolve partial ordering properly. The std is rather// vague about it anyway, DR 214 talks about this.extern "C" int puts (char const *);template <typename T> int Foo (T *) {puts (__PRETTY_FUNCTION__); return 1;}template <typename T> int Foo (T &) {puts (__PRETTY_FUNCTION__); return 2;}template <typename T> int Foo (T const &) {puts (__PRETTY_FUNCTION__); return 3;}template <typename T> int Bar (T const *const &) {puts (__PRETTY_FUNCTION__); return 4;}template <typename T> int Bar (T *const &) {puts (__PRETTY_FUNCTION__); return 5;}template <typename T> int Bar (T *) {puts (__PRETTY_FUNCTION__); return 6;}template <typename T> int Quux (T *const &) {puts (__PRETTY_FUNCTION__); return 7;}template <typename T> int Quux (T const &) {puts (__PRETTY_FUNCTION__); return 8;}int Baz (int const *ptr, int *ptr2){  if (Foo (ptr) != 1)    return 1;  if (Foo (ptr2) != 1)    return 2;  if (Foo (*ptr) != 3)    return 3;  if (Foo (*ptr2) != 2)    return 4;    if (Bar (ptr) != 4)    return 5;    if (Quux (ptr) != 7)    return 5;  if (Quux (ptr2) != 7)    return 6;    return 0;}int main (){  return Baz (0, 0);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?