| namespace cpp_namespace { | |
| struct CppStruct { | |
| int field = 1111; | |
| int function() { | |
| return 2222; | |
| } | |
| }; | |
| union CppUnion { | |
| char field_char; | |
| short field_short; | |
| int field_int; | |
| }; | |
| CppStruct GetCppStruct() { | |
| return CppStruct(); | |
| } | |
| CppStruct global; | |
| CppStruct *GetCppStructPtr() { | |
| return &global; | |
| } | |
| } | |
| int global = 3333; | |
| int main() | |
| { | |
| cpp_namespace::CppStruct cpp_struct = cpp_namespace::GetCppStruct(); | |
| cpp_struct.function(); | |
| cpp_namespace::CppStruct &cpp_struct_ref = cpp_struct; | |
| cpp_struct_ref.function(); | |
| int field = 4444; | |
| cpp_namespace::CppUnion cpp_union; | |
| cpp_union.field_int = 5555; | |
| int cpp_scalar = 6666; | |
| cpp_namespace::CppStruct cpp_array[16]; | |
| cpp_namespace::CppStruct *cpp_pointer = cpp_namespace::GetCppStructPtr(); | |
| return 0; // Break here | |
| } |