# GB.New

`int GB.New ( void ** object , const char * class , const char * name, void * parent )`

Creates a new object given its class.

- object will receive a reference to the newly created object.

- class is the class to instanciate.

- name is the name used for attaching the object to its event observer.

- parent is the event observer of the object.

The name and parent arguments can be null. In that case, the object will not have any event observer.

This function can create objects whose class has been explicitely declared not instanciable.

If the class is instanciable, this function has exactly the same effect as using the NEW instruction in the Gambas program.

The new object has an initial reference count of zero. So you must reference it if you don't return it immediately with GB.ReturnObject.