> Есть готовое b-дерево на C++. Имеются функции вставки, удаления и поиска.
> Вопрос. Как организовать работу структуры b-дерева, файла данных и файла индексов ?
Готовое b-дерево есть работающая структура b-дерева, не обязательно с отображением в файл, но по кр. мере в памяти. Таки непонятно, что у вас есть, а что нужно реализовать.
Ну вот про гит и почитайте. Если работа будет идти преимущественно с текстом, то он подойдет. Как его подключать к проекту зависит от выбранных вами технологий.
Да, совершенно верно.
Я думаю этот вопрос взят из билетов для подготовки, а большинство студентов (да что уж там студентов - преподавателей) довольно не скоро узнают о том, что ивент это считай такая же обертка, как и get/set у свойства (обычно узнают где-то лет через 5 разработки на языке, что оказывается можно задавать кастомное поведение для add/remove при описании ивента), и будут использовать его только с делегатом :) А если использовать с делегатом - то это как раз считай урезанный интерфейс к нему.
@woonem
> программа не должна настраивать систему
А почему вы считаете, что не нужно настраивать систему, чтобы пропускать через себя трафик? В любом случае придется менять системные настройки, и надеяться, что все интересующие вас программы будут их читать.
Иной путь - перехватывать траф в пространстве ядра, а-ля wireshark, но боюсь что этот вариант вам не подходит.
И да, что вообще представляет собой этот ваш дешифратор? Как его вообще подключить к трафику? Он сам по себе HTTP-прокси или что это вообще?
litvin2 да, индексы создаются под наиболее популярные плановые запросы, причем как для операций слияния (join), так и для фильтрации (where). Более того, в индексах следует, например, учитывать порядок сортировки, если where выполняется на сравнение больше/меньше.
Если у вас будет независимые индексы по столбцам, то врядли СУБД сможет воспользоваться обеими при фильтрации по двум столбцам одновременно - скорее всего она выберет записи используя один из индексов, а уже второе условие будет обрабатывать последовательным сканированием.
А вообще, чтобы не гадать, знакомьтесь с EXPLAIN и построением плана запроса.
Karponter начали с конфликта типов и каких-то несуществующих унаследованных операторов, закончили на том, что нужно хранить указатель на ноду :D. Ну вы и задаете вопросы))
Karponter если вы про std::iterator en.cppreference.com/w/cpp/iterator/iterator , то тогда я не понимаю, о каких унаследованных операторах идет речь (там только вложенные типы определяются), и о каком конфликте типов.
Lemann Carmicle ну вот раз конкретную cms уже нашли, тогда лучше читайте доки по ней. Принципиально потому, что если есть данные, то лучше их хранить в БД, а если нужна БД, то нужны и библиотеки работы с ней (например с MySQL). Они то конечно есть (оф. C++ клиент для MySQL), но с ними тоже придется разбираться.
Не знаю какие там рекомендации по архитектуре в cppcms, но как по мне проще всего будет сделать SPA, раздавать его как статику с помощью nginx, и отдельно сделать JSON-овское WebAPI и собственно реализовать на C++. Если в задании страницы нужно генерить на сервере, то это уже другой вопрос.
> Класс итератора структуры я наследую от двунаправленного итератора по узлам.
О каком классе идет речь и что вы планируете поиметь с этого наследования?
Lemann Carmicle жестко. Конечно, опредленная ценность с точки зрения обучения в этом есть, но назвать задание стандартным сложно.
Что за сайт, какова сложность, какое поведение должно быть?
Sashahttps://yadi.sk/d/8TkhbEVjkvW9z
Два варианта - с минимальными изменениями и более адекватный для чтения. Делал руками на глаз, если не будет работать - пишите. Не забудьте выбрать Release в выпадающем списке.
densafacewww.dependencywalker.com - тут есть обе сборки. Где-то на просторах github видел программку на Go для автоматического выбора нужной версии, но это уже удобства..
densaface MFC90D.DLL , MSVCR90D.DLL - вот этого в релизной сборке быть никак не должно, о чем я вам и говорил изначально, проверьте какие lib-файлы используются в релизной конфигурации.
MSVCP90.DLL/MSVCR90.DLL можно скопировать руками, можно поставить в виде redistributable пакета вместе с программой (второе предпочтительнее, но сложнее). Насчет MFC90.DLL не знаю, поищите рекомендации от MS.
COMCTL32.DLL и GDIPLUS.DLL это системные библиотеки, их лучше вообще не распространят со своим приложением (вероятно у вас даже нет на это права).
После того как обдумаете вышесказанное и скопируете нужные либы в папку с правильно собранным релизным exe-шником, запустите dep.walker, и откроете им exe из этой папки. Он должен показать, какие либы ПО КАКИМ ПУТЯМ загрузились. Так вы сможете проверить, все ли подтянулось правильно. Например, если вы решили положить MFC90.DLL рядом с exe, то вы сможете проверить, конкретно этот файл подтянулся или нет (кроме того, проверьте, нет ли ошибок загрузки, иконка не должна быть красной). Помните, что обязательно нужно соблюдать целевую архитектуру библиотек (нельзя мешать 32-битные DLL и 64-битный EXE и наоборот). DepWalker также вам в этом поможет - там на иконках написана разрядность, плюс к этому сам DepWalker имеет две версии: 32 и 64-битную для корректной работы в рамках указанной подсистемы. Это связано с тем, что C:\Windows\system32 для 64-битных приложений это одно, а для 32-битных - совсем другое и нужно опять таки использовать правильную версию DepWalk.
> Вопрос. Как организовать работу структуры b-дерева, файла данных и файла индексов ?
Готовое b-дерево есть работающая структура b-дерева, не обязательно с отображением в файл, но по кр. мере в памяти. Таки непонятно, что у вас есть, а что нужно реализовать.