Здравствуйте, vdimas, Вы писали:
I>>Покажи, где и как освобождать память.
V>Покажи, где и как освобождать память для value-type в дотнет?
Вижу, ты сменил тактику. С кодом не получилось, попутал downward и upward, и сейчас ты переключился на value-type. Как только разберешься с upward, приходи, поговорим про value-type и почему надо освобождать память даже в этом случае.
Один нюанс — приходи не иначе как с кодом. Не можешь сам — проси или жди пока кто нибудь не выдаст код вместо тебя.
Здравствуйте, Ikemefula, Вы писали:
V>>Покажи, где и как освобождать память для value-type в дотнет? I>Вижу, ты сменил тактику.
Вижу, ты решил не отвечать на прямо составленный вопрос.
I>С кодом не получилось, попутал downward и upward,
Это у тебя в голове путаница. Причем, полнейшая.
Вот тебе downward в С.
Сравни с приведенным примером.
Там же ниже downward в Паскале.
I>и сейчас ты переключился на value-type.
Сейчас я задал кокретный простейший вопрос, который отвечает на все твои вопросы.
I>Как только разберешься с upward, приходи
С твоим пониманием "upward" не разберусь. Похоже, ты не понимаешь этого термина.
I>поговорим про value-type и почему надо освобождать память даже в этом случае.
Конечно, надо!
Только вопрос в том, что освобождать надо не на том уровне, на котором описана лямбда. Вот такие они, value-type.
I>Один нюанс — приходи не иначе как с кодом. Не можешь сам — проси или жди пока кто нибудь не выдаст код вместо тебя.
Я тебе уже ответил там же. Меня удивляет, где ты умудряешься находить такие глубокие лужи, чтобы садиться. Уже не в состоянии прочесть простейший код.
Почитай про лямбды С++, что ле...
Здравствуйте, vdimas, Вы писали:
V>>>Покажи, где и как освобождать память для value-type в дотнет? I>>Вижу, ты сменил тактику.
V>Вижу, ты решил не отвечать на прямо составленный вопрос.
Разумеется. Если ты путаешь downward и upward, то твои слова ничего не стоят.
Здравствуйте, alex_public, Вы писали:
I>>Покажи, где и как освобождать память.
_>Память очевидно освобождается при удаление функционального объекта. Причём всё автоматически — RAII же.
Понял, память освобождается при освобождения. А я то, дурак, думал, когда же она освобождается.
Здравствуйте, alex_public, Вы писали:
I>>Понял, память освобождается при освобождения. А я то, дурак, думал, когда же она освобождается.
_>Даже боюсь допустить, что ты тут не придуриваешься... )
Ты сам начал. У меня был простой вопрос — когда и как. А ты кинулся играть в слова пополам с баззвордами.
Здравствуйте, alex_public, Вы писали:
I>>Понял, память освобождается при освобождения. А я то, дурак, думал, когда же она освобождается. _>Даже боюсь допустить, что ты тут не придуриваешься... )
Он реально НЕ понимает.
Наверно он считает, что память полей value-type в дотнете тоже уделяется каким-то специфическим образом. ))
Здравствуйте, Ikemefula, Вы писали:
V>>Вижу, ты решил не отвечать на прямо составленный вопрос. I>Разумеется. Если ты путаешь downward и upward, то твои слова ничего не стоят.
Здравствуйте, Ikemefula, Вы писали:
V>>Наоборот. Я увидел язык без встроенных болезней дотнета. А эти болезни тоже не из космоса взялись, а получились как некий компромисс м/у наличием ГЦ и желанием сделать легковестные value-типы.
I>Покажи кодом, условие задачи напомнить ?
Здравствуйте, Ikemefula, Вы писали:
I>Ты сам начал. У меня был простой вопрос — когда и как. А ты кинулся играть в слова пополам с баззвордами.
Ответ был дан и он был абсолютно точным. В соседней темке я тебе показал ещё и код по этому вопросу, который вроде тебя всё прояснил. Так вот мой ответ в этой темке полностью соответствует тому коду.
А чем плох ответ в последнем комментарии, что ассоциированные типы более расширябельны?
Насколько я помню, в предлагаемых концептах С++ ассоциированные типы тоже были, именно для того, чтобы избежать засерания кода генерик-аргументами, не несущими никакой информации.
Здравствуйте, alex_public, Вы писали:
I>>Ты сам начал. У меня был простой вопрос — когда и как. А ты кинулся играть в слова пополам с баззвордами.
_>Ответ был дан и он был абсолютно точным. В соседней темке я тебе показал ещё и код по этому вопросу, который вроде тебя всё прояснил. Так вот мой ответ в этой темке полностью соответствует тому коду.
Здравствуйте, vdimas, Вы писали:
V>>>Наоборот. Я увидел язык без встроенных болезней дотнета. А эти болезни тоже не из космоса взялись, а получились как некий компромисс м/у наличием ГЦ и желанием сделать легковестные value-типы.
I>>Покажи кодом, условие задачи напомнить ?
V>Лучше ты покажи кодом как избегать граблей дотнета тут:
Ты слишком много хочешь и ничего не можешь дать взамен.
Здравствуйте, vdimas, Вы писали:
V>Здравствуйте, Ikemefula, Вы писали:
V>>>Вижу, ты решил не отвечать на прямо составленный вопрос. I>>Разумеется. Если ты путаешь downward и upward, то твои слова ничего не стоят.
V>Никто ничего не путает.
Я просил upward, a ты выдал downward. За ликбезом смотри рядом пост alex_public.
Здравствуйте, Ikemefula, Вы писали: V>>В дотнете иногда используется разметка типов через поддержку интерфейсов-атрибутов с нулевым кол-вом методов в нем, вместо собсно дотнетных атрибутов. Банально быстрее в рантайм.
I>Чудеса да и только. Маркер-интерфейс требует примерно таких же расходов в рантайме, как и поиск по атрибутам.
Это просто ловкая подмена задачи. Есть два сценария:
1. Найти все типы в некотором scope (например, в модуле), которые предназначены для определённой цели.
2. Проверить, предназначен ли некоторый объект для определённого сценария.
В сценарии 1 все варианты реализации примерно одинаково тормозные (кроме случая явной регистрации при помощи обратного вызова), что совершенно неважно, т.к. они выполняются редко — в компайл-тайм, деплой-тайм, или стартап-тайм.
В сценарии 2 проверка через (obj is ISupportsSessionState) действительно гораздо быстрее, чем (obj.GetType().GetCustomAttributes(typeof(SupportsSessionStateAttribute), true).Length > 0).
Уйдемте отсюда, Румата! У вас слишком богатые погреба.