---
title: release()
framework: kernel
role: pseudoSymbol
path: kernel/osobject/1941151-release
---

# release()

Releases a reference to the object, freeing it immediately if the reference count drops to zero.

## Declaration

```occ
virtual void release() const; 
```

## Overview

Overview This function decrements the reference count of the receiver by 1. If the reference count drops to zero, the object is immediately freed using free.

## See Also

### Miscellaneous

- [free](kernel/osobject/1941146-free.md)
- [getRetainCount](kernel/osobject/1941147-getretaincount.md)
- [init](kernel/osobject/1941148-init.md)
- [operator delete](kernel/osobject/1941149-operator_delete.md)
- [operator new](kernel/osobject/1941150-operator_new.md)
- [release(int)](kernel/osobject/1941153-release.md)
- [retain](kernel/osobject/1941154-retain.md)
- [serialize](kernel/osobject/1941155-serialize.md)
- [taggedRelease(const void *)](kernel/osobject/1941156-taggedrelease.md)
- [taggedRelease(const void *, const int)](kernel/osobject/1941157-taggedrelease.md)
- [taggedRetain](kernel/osobject/1941158-taggedretain.md)
