What makes Bstrlib so much safer than using the standard C/C++ library?
A. Bstrlib contains these mechanism as part of its API: • memory management The memory required to hold a string as it is modified is automatically allocated and managed in Bstrlib functions. • buffer overflow detection The Bstrlib API has well defined interpretations for all legal values of its parameters including character indexes and lengths that fall outside the boundaries of a given bstring. • error propagation Well defined error conditions are detected rather than leading to undefined action. So scenarios with multiple failure conditions don’t need to be littered with large amounts of error detection — it is typically sufficient to put a single check at the end of a long series Bstrlib operations. (The C++ API uses exception handling.) • write protection bstrings declared statically or constructed from unqualified sources are write protected. bstrings can also be made write protected dynamically. • aliasing support Unlike most C libraries, aliased parameters are detected and su