Здравствуйте, Sharowarsheg, Вы писали:
S>>Нет. Утечка — неосвобождение памяти.
S>почему? Вот, например, создал я при запуске консоль, а к ней буфер. И не освобождаю его, пока программа не закроется, потому что пока программа работает — нужна консоль, а когда программа закроется — система почистит.
Это и есть "Просто в маленьких масштабах она незаметна".
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, Sinclair, Вы писали:
S>>почему? Вот, например, создал я при запуске консоль, а к ней буфер. И не освобождаю его, пока программа не закроется, потому что пока программа работает — нужна консоль, а когда программа закроется — система почистит. S>Это и есть "Просто в маленьких масштабах она незаметна".
Я нигде не говорил про размер буфера. У меня есть программа, вполне себе продаваемая, в которой такой буфер порядка 1200MB. При запуске создается и нужен до завершения программы.
Здравствуйте, Sharowarsheg, Вы писали:
S>Я нигде не говорил про размер буфера. У меня есть программа, вполне себе продаваемая, в которой такой буфер порядка 1200MB. При запуске создается и нужен до завершения программы.
Это предельный случай автоматического управления памятью.
Здравствуйте, Sharov, Вы писали:
Q>>Адаптеры потоков (Stream adapters) из стандартной библиотеки получают в конструктор булевский признак владения передаваемым низлежащим потоком.
S>Можно пример, а то первый раз слышу :shuffle:
var file = Path.GetTempFileName();
using (var stream = new FileStream(file, FileMode.Append))
{
const bool leaveOpen = true;
using (var writer = new StreamWriter(stream, Encoding.UTF8, 0x400, leaveOpen))
{
writer.WriteLine(DateTime.Now.ToString("s"));
}
Console.WriteLine("Can write to file “{0}” when leaveOpen={1}: {2}", file, leaveOpen, stream.CanWrite);
}
Здравствуйте, Qbit86, Вы писали:
TK>>Тут сам код "кривой" — разумнее рассчитывать на то, что любой объект переданный в конструкторе — передан во владение т.к. забрать обратно его уже нельзя.
Q>Адаптеры потоков (Stream adapters) из стандартной библиотеки получают в конструктор булевский признак владения передаваемым низлежащим потоком.
Не только стандартная библиотека содержит массу спорных решений но и c# — эта тема живой к тому пример.
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.