Похоже, что код библиотеки использует memcpy
, когда, чтобы быть строго переносимым, он должен использовать memmove
.
Для библиотеки компилятора, такой как std :: string, это, вероятно, нормально, так как этот код не должен быть переносимым на другие компиляторы и может использовать знания о том, как работает конкретная реализация.
С буст-библиотекой вам, вероятно, придется поверить, что они также знают, что делают.Библиотека имеет множество конфигураций для разных компиляторов, и может также использовать определенное расширение g ++.