String with Smart Pointer