7 / 2 / 0
Регистрация: 19.10.2014
Сообщений: 219
1

Нужен материал для статьи про управление памятью в С++

05.02.2015, 12:22. Показов 2098. Ответов 43
Метки нет (Все метки)

Добрый день всем, хотел бы написать статью. О управлении памятью С++. Скорее всего речь пойдет о оператов new и delete.
Скажите пожалуйста откуда можно взять такой богатый материал?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.02.2015, 12:22
Ответы с готовыми решениями:

Нужен материал для начинающих
Хочу научиться программировать... Какие программы сейчас более актуальны и с чего начать что бы...

Реализовать алгоритм работы планировщика. Управление виртуальной памятью. Управление файловой системой
Разработка программы менеджера памяти. Свопинг. Сегментная схема организации памяти. Управление...

Собираю материал для статьи о привычках крутых разработчиков
Поделитесь плиз опытом с начинающим IT-редактором. В инетовских статьях пишут в целом об одном и...

Какой материал можно почитать для создании игр? Книгу, ссылку на статьи. В общем, с чего лучше начать?
Скажите пожалйста какой материал пожно почитать для создании игр. Книгу, ссылку на статьи. Вообщем...

43
Неэпический
17807 / 10579 / 2042
Регистрация: 27.09.2012
Сообщений: 26,607
Записей в блоге: 1
05.02.2015, 12:24 2
Из Стандарта!!!
А Вы уверены, что нужно писать эту статью? А то ведь может большая куча(не память) получиться.
Уверены, что обладаете достаточным количеством знаний и опыта, чтобы было чем поделиться с другими? Или это опять из разряда "Вчера узнал про new, а сегодня учу других"?
0
Эксперт С++
8720 / 4300 / 958
Регистрация: 15.11.2014
Сообщений: 9,744
05.02.2015, 12:25 3
Цитата Сообщение от yyyuuu Посмотреть сообщение
Скажите пожалуйста откуда можно взять такой богатый материал?
По поводу правописания для статьи: из учебника по русскому языку.
По поводу управления памятью: из любой книжки для новичков.
0
DU
1499 / 1145 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
05.02.2015, 12:25 4
кому нужна статья от человека, который даже не знает, где взять материал для написания статьи?
0
7 / 2 / 0
Регистрация: 19.10.2014
Сообщений: 219
05.02.2015, 12:27  [ТС] 5
Кому нужна, это другой вопрос.
0
DU
1499 / 1145 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
05.02.2015, 12:30 6
ну ладно. какой вопрос, такой и ответ:
вот тут есть ссылки на материал: Литература C++
0
Неэпический
17807 / 10579 / 2042
Регистрация: 27.09.2012
Сообщений: 26,607
Записей в блоге: 1
05.02.2015, 12:31 7
Кому нужна, это другой вопрос
Да нет, не другой. Потому что, если получится кал, то потом те, кто будет по нему учиться придут сюда с тупыми вопросами и ответами, потому что в статье "так написано".
1
4203 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
05.02.2015, 12:32 8
Цитата Сообщение от yyyuuu Посмотреть сообщение
Добрый день всем, хотел бы написать статью. О управлении памятью С++. Скорее всего речь пойдет о оператов new и delete.
Скажите пожалуйста откуда можно взять такой богатый материал?
Собрался писать языкастую статью и даже не знаешь языка? Однако!
0
7 / 2 / 0
Регистрация: 19.10.2014
Сообщений: 219
05.02.2015, 12:35  [ТС] 9
По этому я хочу собрать по больше материала, что бы не получился кал!
Может кто что подскажет, или даст материал тот и которого стоит взять что. А не пишу сюда по причине той что найти не могу
0
Эксперт С++
1672 / 1044 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
05.02.2015, 12:41 10
Подскажу общее направление. Статью надо назвать в духе "Управление памятью: почему не надо этого делать" и в тексте объяснять, что идеалом, к которому следует всячески стремиться, будет написание программы, в которой нет ни одного new и delete.
0
Неэпический
17807 / 10579 / 2042
Регистрация: 27.09.2012
Сообщений: 26,607
Записей в блоге: 1
05.02.2015, 12:43 11
yyyuuu, открываете стандарт языка, читаете все что можно о "storage duration" и сопутствующих темах. Потом читаете о распространенных подходах в этом вопросе(например о распределителях памяти, RAII). Осваиваетесь во всём этом, учитесь применять, модифицируете, советуетесь с другими, потом уже может и пишите свою статью.
0
4203 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
05.02.2015, 12:44 12
Цитата Сообщение от Nick Alte Посмотреть сообщение
Подскажу общее направление. Статью надо назвать в духе "Управление памятью: почему не надо этого делать" и в тексте объяснять, что идеалом, к которому следует всячески стремиться, будет написание программы, в которой нет ни одного new и delete.
Бред. Ни в одной реальной задаче ни когда заранее не известно количество необходимых данных, а вот резервирование массивов как раз устарело уже при создании бейсика.
0
2 / 2 / 1
Регистрация: 03.02.2015
Сообщений: 23
05.02.2015, 12:48 13
Цитата Сообщение от yyyuuu Посмотреть сообщение
Добрый день всем, хотел бы написать статью. О управлении памятью С++. Скорее всего речь пойдет о оператов new и delete.
Скажите пожалуйста откуда можно взять такой богатый материал?
Предлагаю вообще не писать статью на эту тему или любую другую связанную с C++ и вообще с программированием.
Быбери тему , о кошечках на пример, и морочь голову на форуме кошатников
0
Неэпический
17807 / 10579 / 2042
Регистрация: 27.09.2012
Сообщений: 26,607
Записей в блоге: 1
05.02.2015, 12:48 14
taras atavin, имеется ввиду абстрагирование от явного использования кучи. Неизвестно кол-во элементов заранее? Берем вектор, а не =new type[size].
В этом идея, а не в отказе от динамической памяти.
0
Эксперт С++
8720 / 4300 / 958
Регистрация: 15.11.2014
Сообщений: 9,744
05.02.2015, 12:50 15
Цитата Сообщение от Nick Alte Посмотреть сообщение
Подскажу общее направление. Статью надо назвать в духе "Управление памятью: почему не надо этого делать" и в тексте объяснять, что идеалом, к которому следует всячески стремиться, будет написание программы, в которой нет ни одного new и delete.
Точно подмечено.

Цитата Сообщение от taras atavin Посмотреть сообщение
Бред. Ни в одной реальной задаче ни когда заранее не известно количество необходимых данных, а вот резервирование массивов как раз устарело уже при создании бейсика.
Ваши рассуждения наивны по меньшей мере.

Так, на всякий случай: для того, что бы пользоваться std::vector,
в ручную дергать new не нужно.
0
4203 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
05.02.2015, 12:57 16
Цитата Сообщение от Nick Alte Посмотреть сообщение
Подскажу общее направление. Статью надо назвать в духе "Управление памятью: почему не надо этого делать" и в тексте объяснять, что идеалом, к которому следует всячески стремиться, будет написание программы, в которой нет ни одного new и delete.
Ещё бредовее. А с какого перепугу ты взял, что разработчики стандартных контейнеров лучше прикладных программистов знают, какое именно поведение контейнеров требуется. Ну ладно ещё строки, они действительно у всех одинаковы. А остальные страдают тем, что даже если их разработчики угадали потребности прикладников, они могут устареть. И всё равно в них упираться? Если проге нужен свой контейнер, но её разработчик упёрся в стандартные, то она устарела до начала своей разработки. И место ей только в корзине.

Добавлено через 29 секунд
Цитата Сообщение от hoggy Посмотреть сообщение
Точно подмечено.
Вообще то толсто.

Добавлено через 29 секунд
Цитата Сообщение от hoggy Посмотреть сообщение
Ваши рассуждения наивны по меньшей мере.
А ничего, что они основаны на опыте реальной работы?
0
2760 / 1914 / 569
Регистрация: 05.06.2014
Сообщений: 5,569
05.02.2015, 13:01 17
Цитата Сообщение от Croessmah Посмотреть сообщение
taras atavin, имеется ввиду абстрагирование от явного использования кучи. Неизвестно кол-во элементов заранее? Берем вектор, а не =new type[size].
C++
1
2
3
4
5
6
struct my_abstract_class
{
public:
    virtual void method()=0;
};
std::vector<my_abstract_class>test;
И опаньки...
Цитата Сообщение от yyyuuu Посмотреть сообщение
Добрый день всем, хотел бы написать статью. О управлении памятью С++. Скорее всего речь пойдет о оператов new и delete.
Скажите пожалуйста откуда можно взять такой богатый материал?
Нагуглить готовое и отрерайтить.
0
Неэпический
17807 / 10579 / 2042
Регистрация: 27.09.2012
Сообщений: 26,607
Записей в блоге: 1
05.02.2015, 13:07 18
Renji, не страдайте фигней, вектор хранит объекты, а объекты абстрактного класса нельзя создать. В этом случае new abstract_class [100] тоже не прокатит так то ))) нужны указатели на объекты.
Ах, да, std::vector<std::shared_ptr<my_abstract_class>>.
0
2760 / 1914 / 569
Регистрация: 05.06.2014
Сообщений: 5,569
05.02.2015, 13:15 19
Цитата Сообщение от Croessmah Посмотреть сообщение
Renji, не страдайте фигней, вектор хранит объекты, а объекты абстрактного класса нельзя создать. В этом случае new abstract_class [100] тоже не прокатит так то ))) нужны указатели на объекты.
А чтобы получить эти указатели нужен new. Или std::shared_ptr уже научился самозаполняться?
0
Эксперт С++
1672 / 1044 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
05.02.2015, 13:19 20
Цитата Сообщение от taras atavin Посмотреть сообщение
Бред.
Цитата Сообщение от taras atavin Посмотреть сообщение
Ещё бредовее.
Вы как-то чересчур поспешно берётесь выносить весьма категоричные суждения, не разобравшись в вопросе.

Цитата Сообщение от taras atavin Посмотреть сообщение
А с какого перепугу ты взял, что разработчики стандартных контейнеров лучше прикладных программистов знают, какое именно поведение контейнеров требуется.
А они что, инопланетяне? Или для разработки стандартных контейнеров в тайных подвалах зловещих засекреченных институтов синтезируют специальных генетически модифицированных разработчиков, не имеющих абсолютно ничего общего с прикладными программистами? Стандарты создаёт не комитет, включающий в себя самых опытных и знающих специалистов, а некая конгрегация эфирных существ, руководствующихся абсолютно чужеродными и непонятными мотивами?
Нет, контейнеры люди таки делают, исходя из простых практических соображений удобства и надёжности.

Цитата Сообщение от taras atavin Посмотреть сообщение
Если проге нужен свой контейнер, но её разработчик упёрся в стандартные, то она устарела до начала своей разработки.
Если программе действительно нужен свой контейнер, и именно управляющий памятью по своей специальной схеме - то да, действительно, придётся и управлять памятью, и new-delete вызывать и более извращённые вещи вытворять, вроде in-place new и явного вызова деструкторов.
Однако же если с детским задором бросаться разрабатывать свой контейнер на каждый чих, при этом искренне полагая себя во всём мудрее и опытнее разработчиков стандартных контейнеров, это станет источником как ненужных трудозатрат, так и несовместимости, уменьшенной читаемости кода и потенциальным источником дополнительных ошибок. Бесспорно, бывают программы, требующие разработки своих специфических контейнеров, но далеко не каждая.

Добавлено через 2 минуты
Цитата Сообщение от Renji Посмотреть сообщение
Или std::shared_ptr уже научился самозаполняться?
Заполнять shared_ptr через new как раз не рекомендуется. Я, между прочим, с самого начала намекал и на make_shared с его младшим братиком make_unique.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.02.2015, 13:19
Помогаю со студенческими работами здесь

Управление памятью для массивов
Наверное я был не туда написал или что... Помогите кто может,надо написать прогу Управление...

Нужен материал по языку для начинающего
Здрастувуйте помогите со справочниками по Паскалю.нужен материал по языку.начинаю с нуля.

Нужен материал для увеличения магнитных свойств
Здравствуйте Нужен материал для увеличения нигнитных свойств. Тоесть материал которы бы не...

Вывести Popup, который содержит в себе материал статьи
Добрый день! Столкнулся со сложностью: Главная страница сайта - плиточный дизайн, с выводом...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru