LINUX.ORG.RU
Ответ на: комментарий от trex6

Унаследовать std::string и переопределить append()?

Ну откуда вы такие берётесь? У std::string деструктор невиртуальный, не надо от него наследоваться.

DELIRIUM ☆☆☆☆☆
()
Ответ на: комментарий от quiet_readonly

А чем тогда std::string лучше Си-массива? Меньше писать, не надо никакого reserve(), а уж если знать архитектуру ОС и памяти, то можно не бояться маллоков на 36бит.

Глупо пытаться добиться производительности из универсальной вещи, котоую хоть и можно тюнить.

anonymous
()
Ответ на: комментарий от x0r

Мнимых... Не все богаты, и надо думать об экологии, когда брасаешься разами, если не порядками.

Никогда не понимал людей, для которых затюнить стл проще, чем запилить Сишный велосипед на 10строк, который быстрее, проще и такой, каким ты его хочешь видеть. Да, он не универсален, которая нужна лишь теоретикам, но работает.

anonymous
()
Ответ на: комментарий от Ubuntu1210

Например? Ничего не сделанно - всё говно. Так говорят либо гуёвщики, либо жабисты-из"итерпрайза".

Начинаешь пилить - всё ок, потом оп - тормазит. Свой родимый кастыль ты перепилишь за 10минут, который 10строк. А вот чтобы понять в чем лажа в какой-то готовой универсальной либе, а это тысячи строк, которые делают то, что тебе надо и ты можешь реализовать 10-ю, но зато универсально и тебе не надо писать 10строк. И похрен, что api у этой либы на 9строк, которые ты напишешь. Зато типа не сам.

Дак вот, чтобы найти лажу - надо все волоса на жопе порвать и жить в обнимку с кодом либы( а представь какого маздайщикам, которые кроме пропритарного говна ничего не знают).

И пока у тебя есть вера, что ты типа ничего не будешь делать - это хорошо. Да, на абкатаной штамповки говна(веб, жаба-интерпрайз) таких проблем, на чем специфичней область - тем больше жопа.

И уж проще выпилить все зависимости и запилить самому, чем хренпойми чё с сабой тащить и непойми зачем.

Но блин аргументация и тралинг ООПешников выше некуда. Вот пилят они фуфло, которому надо 10настроек хранить(3-4числа и пару строк). НАМ НУЖЕН ХМЛНАХРЕН. Крута. Когда ты им говоришь, что свой кастыль для этих 3-х настроек займёт 3строчки - тебе в ответ «ПАРСЕРХМЛТРИСТРОЧКИВШКОЛУСТРОЧНО, ЛАЛКА». А твои аргументы, что парсер хмл тут ваще не упал их не интересует. Суть.

Да везде так. Придумывают всякую ересь про то, что велосипед потом надо будет проагрейдить, а это сложно. Им везде нужны шаблоны и 100500типов, и пофег что в 98% программулин кроме инта и чара нихрена нет, но шаблоны нужны, авось появится.

Это уже не ООПголовного мозга, а «универсализация». Скоро всех молотки запретят, ибо авось тебе понадобиться отвёртка, а перековывать молоток в отвёртку сложно( им пофиг, что никто переделывать не будет - просто скуют новую). Вот они и будут пилить свой мегауниверсальный инструмент, который никакую задачу толком нормально не делает, тормазит, но за-то «универсальный».

Они будут ныть, что потрачены тысячи человеколет и ты днище не запилишь такое «произведение искуства», но тебе похрен - тебе надо забить гвоздь - ты возмёшь стальной брусок присабачишь его к палке за 30секунд и будешь смеятся на идиотами, которые говорят, что молоток не универсален и «попробуй запилить как мы». Но. Больным людям место в дурке, а тебе класть на них.

anonymous
()
Ответ на: комментарий от DELIRIUM

У std::string деструктор невиртуальный

А, ну тогда все пропало, да. Теперь уж точно объекты нормально удалять не получится. Это точно. Все пропало. Да.

trex6 ★★★★★
()
Ответ на: комментарий от anonymous

я хочу видеть результат работы, а не процедурку, которая на пару десятков инструкций будет быстрее работать. зачем велосипедить инструмент, когда есть готовый? прежде, чем проводить оптимизацию, стоит выполинить профайлинг и если профайлинг покажет, что на работе с std::string софт всасывает, то стоит задуматься о велосипеде.

x0r ★★★★★
()
Ответ на: комментарий от x0r

Ха, хочет он видеть. Придумал какую-то ересь, ибо чем std::string+его методы отличаются от char* и string.h? Ну да, жги.

Пару десятков инструкций - это очередная вера неосиляторов. Иди погляди на код маллокачтоли.

Нет, это твои абсалютно бесполезные пастулаты, которые тебе вбили ООПешники и твоё неосиляторство. Профайлинг, хренофайлинг.

Профайлер не нужен в 98%, а нужен он только неосиляторам. Я знаю как работает маллок, какая лажа происходит внутри него и методов std::string. Я знаю, что это тормазит - мне для этого не нужен твой профайлер.

Зачем мне писать говно, потом убедиться в том, что std::string говно, а потом профайлить. Потом волоса на опе рвать - тюнить stl. Пилить свои алокаторы( а это раза в 3-4 сложнее и дольше своего кастыля, ибо банальный пулл легче маллока в мильён раз и во столько же раз быстрее), страдать фигнёй?

На своём велосипеде я вообще могу заменить конкатенацию на мемкопи на конец строки. Мне не нужна твоя универсальность, я знаю какие и какой длинны у меня строки и сколько их.

Ещё раз про профайлер. Это нужно уже совсем на низком уровне, либо когда надо просто исправить лажу в готовом на кастыль. В всех иных случаях gcc -S наше всё. Простой код на сишке - это не нагромождение ООП-абстракций, где почти нереально понять во что их превратит конпелятор. Тут всё просто, понятно и достаточно предсказуемо.

anonymous
()
Ответ на: комментарий от dmfd

Анука линк, я не помню такой пасты.

anonymous
()
Ответ на: комментарий от anonymous

Потому что программировать интереснее, чем запиливать «сишные велосипеды». Так что бросайте вы это дело, а то за деревьями леса не видите...

anonymous
()
Ответ на: комментарий от anonymous

И тем не менее, сишники всегда во всех спорах сливают плюсовикам. Исторический факт. А еще у вас нет шаблонов и чтобы добиться нормальной производительности вы пишете говнокод на макросах, вроде sys/queue.h, а ваш qsort сливает std::sort'у во всех отношениях при том же алгоритме... Виртуальные функции из-за дополнительных возможностей компилятора по оптимизации иногда быстрее, чем указатели на функции... И т.д. и т.п.

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

anonymous
()
Ответ на: комментарий от anonymous

Код ты, конечно, не покажешь... Стыдно, да? И неужели до вас всех не доходит, что любой плюсовик знает Си не хуже вашего и неосиляторы-то как раз вы, т.к. не смогли осилить ДОПОЛНИТЕЛЬНЫЕ возможности, которые предоставляет С++. Иди поправь свой goto на освобождение ресурсов. У тебя там ошибка.

anonymous
()
Ответ на: комментарий от anonymous

Мля, std::string и stl не ООП. Вообще. А Степанов(создатель STL) ООП не любит и считает его в корне неверным.

anonymous
()
Ответ на: комментарий от anonymous

Да, да, ты это пойдёшь расскажешь в другом месте. Суть не в том, что С++ ООП, либо стл ООП. Суть в ООПешниках и ООП-стайле.

Не верно ни С++, ни ООП, а их фанбои и болезни сними(ООП, плюсы) связанные.

anonymous
()
Ответ на: комментарий от anonymous

Ололо. Просто на ровном месте слился и проигнорировал моё сообщение. А теперь скажи мне, чем std::string str более интересно, чем char * str. А так же чем методы std::string интереснее функций из string.h.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.