package main | |
import . "refcount" | |
// very innocent example | |
func main() { | |
a := NewA3() | |
_ = NewB(a) | |
b2 := BCreate(a) | |
if a.Ref_count() != 3 { | |
panic("This program will crash... now") | |
} | |
rca := b2.Get_rca() | |
// _ = BCreate(rca) | |
_ = rca | |
if a.Ref_count() != 4 { | |
panic("This program will crash... now") | |
} | |
/* Requires smart pointer support. | |
v := NewVector_A(2) | |
v.Set(0, a) | |
v.Set(1, a) | |
_ = v.Get(0) | |
DeleteVector_A(v) | |
*/ | |
} |