boost :: split изменит входную строку, когда входная строка не является константой? - PullRequest
0 голосов
/ 25 июня 2019

Параметры функции boost :: split не постоянны.boost::split изменит ли введенную строку или переместит ее в другой адрес памяти, если он не является константой?

Справочная информация: мой сервис написан на C ++, это всегда дамп ядра.Я пытаюсь найти причину.Мой код использует функцию boost::split и передает неконстантную ссылку на строку в boost::split.Код будет работать в многопоточном режиме, поэтому я думаю, что он не является потокобезопасным и приведет к дампу ядра.

1 Ответ

0 голосов
/ 25 июня 2019

boost::split() не изменяет свои аргументы ( см. Документацию ).Более вероятная причина в том, что вы изменяете строку в одном потоке, а boost::split читает ее в другом.Чтобы избежать этого, защитите свои переменные, используя mutex .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...