cxx-scope-1.mm
来自「用于进行gcc测试」· MM 代码 · 共 54 行
MM
54 行
/* Handle C++ scoping ('::') operators in ObjC message receivers gracefully. *//* Author: Ziemowit Laski <zlaski@apple.com> *//* { dg-do run } */#include <objc/Object.h>#include <stdlib.h>@class Derived;Derived *inst[3];struct CxxClass { static Derived *get_instance(int);};Derived *CxxClass::get_instance(int offs) { return inst[offs];}@interface Derived: Object { int value;}-(id)initWithValue:(int)val;-(int)derived_meth;@end@implementation Derived-(id)initWithValue:(int)val { [super init]; value = val; return self;}- (int)derived_meth { return value;}@endint main(void) { int r; inst[1] = [[::Derived alloc] initWithValue:7]; inst[2] = [[Derived alloc] initWithValue:77]; r = [CxxClass::get_instance(2) derived_meth]; if (r != 77) abort(); r = [CxxClass::get_instance(1) derived_meth]; if (r != 7) abort(); return 0;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?