https://1cpp.blogspot.com/2019/08/42-string.html