fixed bug of smart pointer
implementation of smart array
updated the implementation of ObjectPool using SmartArray