Преобразование & к и и т.д.

Многие ответы обращаются к способу хранения счетчика ссылок (он хранится в общей памяти для всех shared_ptr, которые содержат тот же собственный указатель), но большинство исключает проблему утечек.

Самый простой способ утечки памяти с помощью указателей с подсчетом ссылок - создание циклов. Например, гарантированно не будет удален двусвязный список, в котором все указатели являются shared_ptr, по крайней мере, с двумя элементами. Даже если внешние указатели будут освобождены, внутренние указатели все равно будут учитываться, а счетчик ссылок не достигнет 0. Это, по крайней мере, в самой наивной реализации.

Самым простым решением проблемы цикла является смешивание shared_ptr (указатели с подсчетом ссылок) со слабыми указателями, которые не разделяют владение объектом.

Общие указатели будут совместно использовать ресурс (указатель) и дополнительную информацию reference_count. Когда вы используете слабые указатели, счетчик ссылок удваивается: есть счетчик ссылок общего указателя и счетчик ссылок слабого указателя. Ресурс освобождается всякий раз, когда число общих указателей достигает 0, но информация reference_count остается активной до тех пор, пока не будет освобожден последний слабый указатель.

В двусвязном списке внешняя ссылка хранится в shared_ptr, а внутренние ссылки просто слабые. Всякий раз, когда нет внешних ссылок (shared_ptr), элементы списка освобождаются, удаляя слабые ссылки. В конце все слабые ссылки были удалены, и последний слабый указатель на каждый ресурс освобождает информацию reference_count.

Это менее запутанно, чем кажется вышеупомянутый текст ... Я попробую позже.

58
задан Matt Hamsmith 19 January 2018 в 16:58
поделиться

3 ответа

System.Web.HttpUtility.HtmlDecode()

Edit : Примечание из здесь , что «Чтобы кодировать или декодировать значения вне веб-приложения, используйте .. . "

System.Net.WebUtility.HtmlDecode()
99
ответ дан 24 November 2019 в 18:44
поделиться

Используйте статический метод

HttpUtility.HtmlEncode

, чтобы изменить & на & amp; и « на » . Используйте

HttpUtility.HtmlDecode

, чтобы сделать обратное.

23
ответ дан 24 November 2019 в 18:44
поделиться
4
ответ дан 24 November 2019 в 18:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: