- 1
- 2
- 3
- 4
- 5
- 6
#define TRUE (1)
#define FALSE (0)
#define internal protected:
#define external public:
#define declareSuper(superClass) protected: typedef superClass super
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+24
#define TRUE (1)
#define FALSE (0)
#define internal protected:
#define external public:
#define declareSuper(superClass) protected: typedef superClass super
Оттуда.
test 1: std::vector time milisec 9.14
test 2: std::vector reserve time milisec 4.30
test 3: dynArray time milisec 5218.74
test 4: dynArrayT time milisec 40157.38
Ну чтож, автор - адекватный человек, который признал свой велосипед говном, и не постеснялся об этом рассказать.
> Обрати внимание - моя реализация близка std::vector (там чуток хуже, но мне подходит)
Внимание, вопрос: зачем использовать свой вектор, если он медленнее стандартного?
А не писать крестоблядства:
Надеюсь в последнем я нигде не ошибся, тк это для меня сложно. Если второй вариант кому-то показался удобнее первого, то я, как и Понтий Пилат, умываю руки.
Блять, да кто это придуман? Назовите имя этого человека? Я трижды кину в него камень.
А вы ведь посмотрите насколько это не оптимально, относительно первоначального варианта. Типичное квадратичное говно.
перепиши в виде императивного цикла
тебе скажет спасибо тот программист, который будет поддерживать твой говнокод после того, как тебя уволят
раздел хаскел прямо и направо
но подозреваю, что тебе вдруг понадобился boost::filter_iterator
поведай нам больше, как собственный контейнер еще больше приблизил тебя к завершению проекта в срок
если так жжотса в причинном месте, что из крестов делаешь сишарпик, зачем тебе кресты?
нужны быстрые высокоуровневые кресты, а не тот детский сад, что ты видел выше.
если ты думаешь, какой ты крутой обдурил систему, сэкономив на конструкторах копирования/перемещения, написав memmove, то ты жестоко ошибся
нормальные программисты используют вектор так, для чего он предназначен - хранение массива неразрывно
и говнооптимизацией реаллоцирования не получают даже 0.1% ускорения, потому что это действительно редкая операция ;)
Эта оптимизация уменьшает фрагментацию кучи. А ещё для больших векторов (больше страницы или нескольких) будет использоваться оптимальное, для данного случая, страничное перемещение (просто замена значений в таблице страниц). Ты похоже нуб не в теме?
и поспешу тебя удивить, в нормальных реализациях stl вектор умеет отличать pod от не-pod, используя где нужно memcpy, но гораздо важнее сделать #define TRUE 1, это так проффессионнально, куда уж нам, нубам
и да, не нубам еще известны специфичные вызовы типа _expand/mremap, позволяющие иногда вырасти существующему выделенному блоку
ты ведь понимаешь, что вся дополнительная эффективность вектора - в его яйце аллокаторе?
Ну вот приехали, крестовики не понимаю код на крестах. Туда куда вели стандарт, туда и пришли.
Только крестоблядский стл - это не струасиный понос, а степашкин.
И это не понос, а удобная библиотека. Конечно, бывают и поудобнее, но СТЛ наиболее убедителен.
И если бы из крестов вообще выпилили шаблоны и автодеструкторы, кроме стл, и вшили бы стл в язык, сделав удобную поддержку со стороны синтаксиса, то для 99% задач кресты от этого только бы стали удобнее.
Впизду универсальность, возможность "нопейсать свой язык на этом языка" итд, это только мешает писать код блеать.
Ну и само собой new, delete и всю адресную арифметику. Ибо нехуй.
спасибо, не надо
Именно, вы прочитали между строк мой тонкий намёк!
Как я сказал ранее, фишки С++, которых не было в Дельфи-7, не дают видимого ускорения разработки, зато дают +100 к пустомыслию на тему "а правильно ли я сделал, ведь есть какой-то хитровыебанный паттерн, который сделает этот участок кода типобезопасным и без копипасты 5 строчек, и похеру, что это 100 строк нечитаемого шаблонного говна, которые надо ещё неделю отлаживать, читая простыни компилятора, извесного невменяемостью на тему чётко указать, где именно ошибка".
если писать однопоточное приложение с глобальными объектами на 10-20к строк, то достаточно и С, даже не дельфи, представь себе
так что если тебе не пригодились шаблоны, раии, перегрузка операторов и ничего кроме стл (а ведь для своего андроид-ндк ты даже не пытался выйти за рамки стл), если тебе достаточно 2003 студии - так это не значит, что ты есть 99% всех разработчиков
вот как то так
А тот эпичный тред?
> если тебе достаточно 2003 студии - так это не значит, что ты есть 99% всех разработчиков
Ну я как бы примерно сужу по отголоскам того, что я слышу. Хитрожопых шаблонистов не любят.
Хитрожопых ВООБЩЕ не любят.
И IDE не работает на системе с DEP, что очень символизирует.
Происки майкрософта. Решили устранить конкурирующую IDE под прикрытием внедрения DEP.
Это ещё первые виндовсы умели (BitBlt)