📄 copy1.c
字号:
// { dg-do run }// Copyright (C) 2000 Free Software Foundation, Inc.// Contributed by Nathan Sidwell 30 Nov 2001 <nathan@nathan@codesourcery.com>// PR 87int assign = 0;int ctor = 0;int assignC = 0;struct A { int i; template<class T> void operator=(const T&) const { assign = 1; } A () : i (0) {} template <typename T> A (const T &) { ctor = 1; }};struct B : A {};struct C { int i; C (int i_) :i (i_) {} template <int I> void operator= (const C &) { assignC = 1; }};int main(){ const A a; A b; B c; b = a; if (assign) return 5; b.i = 100; c.i = 200; a = b; if (!assign) return 1; if (a.i) return 2; A e (b); if (ctor) return 3; A d (c); if (!ctor) return 4; C c0 (0); C c1 (1); c0 = c1; if (assignC) return 5; return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -