@ProCxx

Страница 910 из 2477
Игорь
26.05.2017
12:21:20
Всем хао. Подскажите, как правильнее/предпочтительнее: Есть класс Trie (нагруженное дерево/дерево префиксов), не сжатое, соответственно метод Add (рекурсивно обрабатывает строку, добавляя узлы в Trie). В каждом конечном узле, соответствующему слову, должны быть данные, среди которых <Map> и один счётчик. Собсно вопрос в следующем - это нормально тащить <Map> через метод Add или лучше держать в классе статические поля для хранения текущих значений (данных)? Или есть ещё какой-нибудь вариант получше.

Сейчас метод выглядит так: void Add(const string &str, int ptr = 0); Тащить: void Add(const string &str, map<T1, T2> Data, int ptr = 0);

Ну, по ссылке, а не по значению, конечно*

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

Google
Игорь
26.05.2017
12:26:44
В том-то и вопрос, хочу ли я этого. :D

Игорь
26.05.2017
12:27:12
В принципе, кол-во вызовов этого метода будет равно длине строки + 1.

Denis
26.05.2017
12:27:22
Сейчас метод выглядит так: void Add(const string &str, int ptr = 0); Тащить: void Add(const string &str, map<T1, T2> Data, int ptr = 0);
template< typename key_seq_t, typename data_t > void Add( key_seq_t&& key, data_t&& data ); А такой вариант не рассматривал?

Или ты про метод, который будет один узел с буквой добавлять?

Denis
26.05.2017
12:30:28
Ну ты же можешь делать как душе угодно. Как альтернативный вариент — не тащить данные, а получить указатель на лист, в которые потом запишешь данные

Denis
26.05.2017
12:31:20
{ auto listNode = Add( my_string ); listNode->map = myDataMap; listNode->counter = myDataCounter; }

В упрощённом виде, естественно

Tema
26.05.2017
12:32:06
{ auto listNode = Add( my_string ); listNode->map = myDataMap; listNode->counter = myDataCounter; }
а вообще я думал add это метод класса владеющего деревом

Google
Tema
26.05.2017
12:32:15
я ваще думал тут у нас ООП

Игорь
26.05.2017
12:32:42
По сути мапу я буду заполнять из файлика, поэтому есть вариант ещё тащить/хранить в статике дескриптор (ifstrem) файлика и при необходимости (как только последняя буква строки добавиться) начать считывать из него (файлика) и заполнять мапу.

Denis
26.05.2017
12:33:35
Это уже жесть точно

Игорь
26.05.2017
12:34:02
Согласен.

А вариант с возвратом указателя интересный, хм.

Denis
26.05.2017
12:34:48
Да вообще в статике что-то хранить только чтобы не передавать аргументом в один метод, который рекурсивный будет — тоже жесть

Если так надо, то можно ещё один класс сделать. { MyTmp tmp( data, this ); tmp.recursion( string ); }

Игорь
26.05.2017
12:39:39
Больно понравился вариант с возвратом указателя. Спасибо.

Berkus
26.05.2017
13:11:22
Интересно, издательство разрешит мне вставить это эпиграфом к новой книге о Boost? А как перевести на английский эту фразу, да так чтобы сохранить колорит?
"Boost is a fucking good set of fucking good libraries, and if you add one more fucking good library there it makes only more fucking good boost." скорее всего, не разрешит :P

Antony
26.05.2017
13:58:10
Проверьте пожалуйста у кого стоит MinGW или MinGW-w64: если ли у вас файл unwind.h и находит ли его MinGW при #include <unwind.h> ?

reagentoo
26.05.2017
14:02:36
Ух-ты, Полухин здесь))

reagentoo
26.05.2017
14:03:23
Больше рефлексии, больше Полухиных))

Antony
26.05.2017
14:08:27
Есть.
А какой у вас MinGW? Компилятор этот файл видит?

Anton
26.05.2017
14:08:37
MinGW-w64 6.3

Сейчас попробую скомпилить файл с ним

Antony
26.05.2017
14:17:54
А вот такое компилит ? #include <backtrace.h> int main() { backtrace_state* state = backtrace_create_state( 0, 1, 0, 0 ); (void)state; }

Anton
26.05.2017
14:26:11
А вот backtrace не находит

Google
Antony
26.05.2017
14:26:44
Это грустно. Спасибо за помощь!

Alex Фэils?︙
26.05.2017
14:54:07
Vladislav
26.05.2017
16:53:03
Однако https://hackernoon.com/value-ptr-the-missing-c-smart-pointer-1f515664153e
забавная штука, правда единственное применение придумывается - pimpl

Alexander
26.05.2017
16:57:33
у кого-нибудь есть оыпт Conan на проде?

а то наконец-то двинулся поезд от SVN к Git, и вынуждены искать способ руления зависимостями

Berkus
26.05.2017
17:10:13
у кого-нибудь есть оыпт Conan на проде?
да, мой опыт сводится к "не надо использовать"

до прода оно даже не добралось

Alexander
26.05.2017
17:10:31
и что может посоветуете взамен? потому что мне на локальной машине понравилось, но то было грузить пакеты с conan.io, а не со своего сервера

Berkus
26.05.2017
17:11:04
я не смог там найти нужных пакетов, а собирать сам заебался

Alexander
26.05.2017
17:11:25
и что же Вы искали?

Berkus
26.05.2017
17:11:40
вспомнить бы еще сейчас

Admin
ERROR: S client not available

Alexander
26.05.2017
17:12:26
если чего-то нет на conan.io, всегда можете сами собрать и залить. А если очень сильно хотите помочь, то настройте под эту либу (если она опенсурс, конечно), CI (не так сложно сделать это с трэвисом и appveyor), и оттуда уже можно лить релизы на conan автоматически

Berkus
26.05.2017
17:12:35
Conan.io moves to JFrog Bintray! We are happy to announce support for Conan repositories in JFrog Bintray letting you create any number of personal Conan repositories for your C/C++ packages. а вот это хорошая новость, не знал. возможно станет повеселее

Alexander
26.05.2017
17:12:41
опыт для своих поделок у меня есть, и он исключительно хороший

меня интересует именно на проде. Так как мы будем держать свой сервер с бинарями. И конаном оттуда выгружать

Google
Alexander
26.05.2017
17:13:34
вот что интересует

Berkus
26.05.2017
17:13:35
опыт для своих поделок у меня есть, и он исключительно хороший
ну так попробуй на проде, и станет ясно хватает его или нет, всегда ж можно в бранче протестировать

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

Berkus
26.05.2017
17:15:43
если юзает - значит ему ок. я посмотрел поиском сейчас - вроде бы добавили несколько пакетов которых мне не хватало, типа beast, но я не все проверил

Alexander
26.05.2017
17:16:56
если юзает - значит ему ок. я посмотрел поиском сейчас - вроде бы добавили несколько пакетов которых мне не хватало, типа beast, но я не все проверил
на самом деле либ там довольно много уже, но: 1) не для всего есть самые актуальные версии 2) Далеко не для всего пребилжено много разных версий 3) Всё же некоторых либ там может не оказаться

Berkus
26.05.2017
17:19:18
ну мне пока хватает брю и мавена, но хочется в итоге чего-то более нативного для плюсов

Алена
26.05.2017
19:17:09
Подскажите пожалуйста, есть ли книги по плюсам (или др.) не переведенные на русский или с очень плохим переводом. Желательно не больше 500 страниц.

Alex Фэils?︙
26.05.2017
19:52:15
Коллеги, кто завтра идет в антикафешку – отметьтесь, чтобы я знал примерно, сколько народу будет. Результаты: ? (2): mymedia AlexFails ? (3): sudo97 veselcraft SOJALEI ❔ (0):

Berkus
26.05.2017
20:36:03
https://twitter.com/vreshetnikov/status/867529685923647492

Vladislav
26.05.2017
20:36:54
https://twitter.com/vreshetnikov/status/867529685923647492
а __attribute__((always_inline)) там нету?

Vladislav
26.05.2017
22:20:26
Тензор - это проапгреженый ООО Вектор? http://lurkmore.to/%D0%9E%D0%9E%D0%9E_%C2%AB%D0%92%D0%B5%D0%BA%D1%82%D0%BE%D1%80%C2%BB

Vladislav
27.05.2017
06:31:36
https://github.com/tonybeltramelli/pix2code/blob/master/README.md

Tom
27.05.2017
10:35:09
Товарищи, предполагаю, все знакомы с Ranges TS. А было бы интересно иметь что-то подобное в compile time? Типа constexpr int xs[] = {1, 3, 5, 2, 4}; constexpr int ys[] = {1, 2, 3}; static_assert( (xs | sort(std::less<void>{}) | subset(0, 3)) == ys );

Александр
27.05.2017
10:36:20
конечно

Google
Александр
27.05.2017
10:36:34
hana'у же юзают, а это как крутое расширение

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