@ProCxx

Страница 1223 из 2477
Aidar
18.08.2017
14:03:50
Хотя как-то сравнивать вектор с листом неочень

Alexander
18.08.2017
14:04:20
Хотя как-то сравнивать вектор с листом неочень
почему же? мне кажется вполне себе реальная жизненная ситуация

Aidar
18.08.2017
14:04:29
Не это ущербно выгляжит

Alexander
18.08.2017
14:04:38
почему?

Google
Aidar
18.08.2017
14:04:42
Вектор==лист

Alexander
18.08.2017
14:04:50
и?

Aidar
18.08.2017
14:05:03
Ну мне глаза режет

Лучше явно сравнивать тут

Alexander
18.08.2017
14:05:37
есть одно говно API, что возвращает вектор, второе говноAPI, что возвращает list интов. И я хочу сравнить без гемора и накладных расходов

Лучше явно сравнивать тут
а я не хочу писать руками это. пусть это и пишется легко. Я хочу взять и сравнить

пусть и режет, да. Но я привёл кейс, когда это было бы полезно

Aidar
18.08.2017
14:06:22
Да есть же std::equal

Alexander
18.08.2017
14:06:32
и хотлоесь бы без обмазывания говном левым

Aidar
18.08.2017
14:06:53
Это чистое имхо

Я высказался

Alexander
18.08.2017
14:07:06
ну да, тут два имхо ?

Aidar
18.08.2017
14:07:08
Мнение не изменю

Google
Alexander
18.08.2017
14:07:19
на самом деле холивар знатный получился бы

с другой стороны, я прекрасно понимаю твою точку зрения, так как явный std::equal выглядит нормально для сравнения абсолютно разного говна

https://habrahabr.ru/post/335920/

Александр
18.08.2017
14:13:48
Вообще похоже на хорошую идею для Proposal. Операторы сравнения описаны через lexicographical_compare, он позволяет работать с итераторами разных типов. Только надо сделать нормальное сравнение не только для vector, а и для deque, list, forward_list и т.д.
Все контейнеры нужно охватить, это конечно. Вообще, ситуация с аллокаторами не только в операторах сравнения, а везде, где используются не итераторы, а контейнеры сами по себе. А может таких мест больше нет, не помню

Aidar
18.08.2017
14:19:01
Лол

Alexander
18.08.2017
14:19:03
std::equal же, не?
прочитай ниже, там есть оно от него же

Ilia
18.08.2017
14:20:12
А. уржаца уржаца...

Дед Пегас
18.08.2017
14:20:21
https://habrahabr.ru/post/335920/
Квиксорт быстрей тимсорта?)

Ой вей.

Alexander
18.08.2017
14:20:31
вообще, Boost.Sort быстрее

а pdqsort вообще рвёт всех

Дед Пегас
18.08.2017
14:21:26
...хочу сортировку за O(n/2)...

ib4: шучу

Evgeniy
18.08.2017
14:22:39
Ilia
18.08.2017
14:25:44
Я знаю сортировку за O(1) !

Evgeniy
18.08.2017
14:27:57
Я знаю сортировку за O(1) !
с проивольным компоратором?

Antony
18.08.2017
14:29:10
Google
Александр
18.08.2017
14:29:20
Вспомнил. Ещё надо разобраться с конструктором копирования и оператором присваивания. Им тоже никто не мешает иметь различные аллокаторы. Для всех контейнеров

Antony
18.08.2017
14:29:45
Вот это опасно

Aidar
18.08.2017
14:30:05
Я знаю сортировку за O(1) !
Работает только на количестве элементов <Н?

Александр
18.08.2017
14:31:02
Вот это опасно
Без перемещающих, конечно.

Лучше начать со сравнений
Загляну тогда на stdcpp попозже

Дед Пегас
18.08.2017
14:31:39
Александр
18.08.2017
14:41:38
Так доказано же, что в общем виде сортировок ниже n logn не может существовать?

Alexander
18.08.2017
14:43:50
Так доказано же, что в общем виде сортировок ниже n logn не может существовать?
ну да. Все, кто шустрее по асимптотике, используют что-нибудь ещё ?

Дед Пегас
18.08.2017
14:45:50
Ну за O(n) есть

Но там и железо специальное, ЕМНИП

Alexander
18.08.2017
14:46:01
Ну за O(n) есть
они не на сравнении работают

Alexander
18.08.2017
14:46:08
Но там и железо специальное, ЕМНИП
нет специального железа

Но там и железо специальное, ЕМНИП
точнее, есть и без спец железа. Про спец железа когда-то давно краем уха слышал

они не на сравнении работают
сортировка подсчётом линейна, например

Денис
18.08.2017
15:14:08
Вопрос. Есть вот такой код.

template<typename T, typename X> struct pField { typedef T X::* ptr_attr; }; template<typename T> struct SetterStruct{ std::map<std::string, pField<int, T>::ptr_attr> to_attrs_int; }

Ilia
18.08.2017
15:14:33
Ну за O(n) есть
За O(n) есть карманная сортировка. Но она для специальных случаев значений. Т.е. что угодно ты так не отсортируешь.

Денис
18.08.2017
15:14:55
g++ ругается, что std::map ожидает тип, а получает какую-то хуйню. В чём может быть дело?

Google
Ilia
18.08.2017
15:15:29
Это как раз всё разновидности карманной сортировки

Alexander
18.08.2017
15:15:53
Это как раз всё разновидности карманной сортировки
типа карманная - это генерализованная идея?

Admin
ERROR: S client not available

Ilia
18.08.2017
15:16:02
ага

Alexander
18.08.2017
15:16:06
окей, спасибо

Ilia
18.08.2017
15:16:44
Но там память нужна конечная ? O(n)

Alexander
18.08.2017
15:17:00
ну что ж поделать. чудес не бывает ведь

Денис
18.08.2017
15:18:54
как это ваще распарсить?
Короче pField задает тип - указатель на член структуры. А в SetterStruct будет мапа, с указателями на члены уже конкретной структуры.

Денис
18.08.2017
15:20:49
typename
О, спс!

Aidar
18.08.2017
15:21:13
юзай using

вместо шаблона структуры с typedef

using умеет в шаблоны

и не нужно будет typename

Денис
18.08.2017
15:22:35
юзай using
Да, сначала был using и он ругался, и я и поменял на typedef.

Aidar
18.08.2017
15:22:43
нет

прям ваще struct снеси

Ilia
18.08.2017
15:23:20
@zamazan4ik , я так CONAN и не победил... POCO не грузит, SCUKO

Google
Aidar
18.08.2017
15:23:55
template<typename T, typename X> using pField_t = T X::(*);

кажись так

Денис
18.08.2017
15:24:35
кажись так
Да. Я так как раз не хотел, потому что у меня указатели на члены с разными типами данных могут быть.

Aidar
18.08.2017
15:24:55
это не отличается от того что ты написал

у тебя тоже нельзя

там шаблон от двух типов

тут шаблон от двух типов

Денис
18.08.2017
15:26:29
тут шаблон от двух типов
Ну условно, я же не весь код печатал, а только где проблема. Но спасибо, всё компилируется.

Alexander
18.08.2017
15:48:42
Тут вот хотят уже <process> в Стандарте

помогите человеку)))

Страница 1223 из 2477