Thanks for providing this information. Its always interesting to see what tools such as PVS indicate about the code.
As it happens, I'm unable to implement the suggested changes for the following reasons:
Most of the changes relate to the use of std::map::emplace and std::vector::emplace_back. These features were introduced into C++ with the C++ 2011 Standard. Win32++ supports compilers that were produced before this standard was introduced. It continues to support these older compilers because they are required to support older operating systems such as Win98.
The other recommended change suggests replacing lstrlenT with m_str.length. This section of code supports the Multi-Byte character set. Multi-Byte characters can use either 1 or 2 bytes to represent a character. For Multi-Byte characters, m_str.length can produce an incorrect result.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Thanks for providing this information. Its always interesting to see what tools such as PVS indicate about the code.
As it happens, I'm unable to implement the suggested changes for the following reasons:
Most of the changes relate to the use of std::map::emplace and std::vector::emplace_back. These features were introduced into C++ with the C++ 2011 Standard. Win32++ supports compilers that were produced before this standard was introduced. It continues to support these older compilers because they are required to support older operating systems such as Win98.
The other recommended change suggests replacing lstrlenT with m_str.length. This section of code supports the Multi-Byte character set. Multi-Byte characters can use either 1 or 2 bytes to represent a character. For Multi-Byte characters, m_str.length can produce an incorrect result.
Fixed in version 10.0