Без контекста не понять
записать указатель next в переменную tmp, являющуюся указателем на указатель
Это какое то присваивание указателя.
(void**) — вот это тут точно лишнее
Хрень какая-то
По адресу tmp записать значение next
Контекст: 'void FormatNewPage() { void* tmp = GetPage(); head = tmp; for(size_t i = 0; i < count-1; i++) { void* next = (char*)tmp + BlockSize; *(void**)tmp = next; tmp = next; } *(void**)tmp = NULL; }' Взято отсюда https://m.habr.com/ru/post/148657/
Проще написать аллокатор на базе boost::simple_segregated_storage.
Да я не про проще, я не могу понять что вообще меняет строка с *(void**)tmp=, если за ней простое присвоение идет
4(8) байт по адресу tmp
Я не думаю что это даже стоит понимать
Это запись значения по адресу, хранящемуся в tmp
проще найти нормальную реализацию аллокатора, а не это вот махание зайцем...
ЭТо по любому какое-то упоротое говно...
Слушай. это же очередная говностатья с хабра, зачем её читать вообще?
Написал в Гугл что-то про virtual_alloc а там эта статья, ну я возьми да прочитай
Лучше скажи что там так...
у меня маловато знаний чтобы судить, потому хотелось бы узнать
Там просто в статье вроде мысли не видно, так что не интересно далее изучать
Ну гляди. (раз уж я залез в это говно) 0. А нужна ли нам ручная работа с памятью? В первую очередь проверим, насколько умный аллокатор может ускорить работу с памятью. И далее код тестов. ЧТО ОНИ ПРОВЕРЯЮТ? неизвестно. Но разница по времени получилась в 10 раз (62 ms против 650 ms). В сторону чего хотя бы — хотелось бы знать... Т.е. автор даже два слова вразумительно написать не может. 1. Пул объектов Очевидное решение — забрать у ОС большой блок памяти и разбить его на равные блоки размера sizeof(Node), при выделении памяти брать блок из пула, при освобождении — возвращать в пул. вот как раз именно это и делает хип в CRT. Этот крендель пишет поверх него свой... нафига? 2. Контейнер и его пёстрое содержимое Часто ли попадаются классы, которые хранят в себе массу различных дочерних объектов, таких, что время жизни последних не дольше времени жизни родителя? Далее идёт какое-то рассуждение про классы в предметной области и их связь с хипом. Ну, мысль замечательная, только одно но — чем выше ты будешь выстраивать архитектуру для работы с такими структурами, тем больше будет пользы. Т.е. не в аллокаторах хипа это надо делать, а на верхнем или среднем уровне архитектурных блоков уже в пользовательских классах программы. Ну вот и получается, статья ни о чём вообще. Статья чтобы написать статью
Обсуждают сегодня