Как сделать дерево в C++?

Как сделать древовидную структуру данных в C++, которая использует итераторы вместо указателей? Я не смог найти ничего в STL, что могло бы сделать это. Что я хотел бы сделать, так это иметь возможность создавать и манипулировать деревьями, как это:

#include <iostream>
#include <tree>
using namespace std;

int main()
{
    tree<int> myTree;

    tree<int>::iterator i = myTree.root();
    *i = 42;

    tree<int>::iterator j = i.add_child();
    *j = 777;
    j = j.parent();

    if (i == myTree.root() && i == j) cout << "i and j are both pointing to the root\n";

    return 0;
}

Спасибо, tree.hh-это как раз то, что я искал.

Если это делается для получения выгоды от структура данных, содержащая произвольные типы индексов, оптимизированные для поиска и хорошо на вставке тогда считайте используя карту.

Карта-это ассоциативный контейнер, который имеет гарантии производительности идентичные к тем из дерева: логарифмические поиск, логарифмическая вставка, логарифмическое удаление, линейное пространство. Внутри страны они часто реализуются как красно-черные деревья, хотя это и так не гарантия. Тем не менее, как пользователь STL все, о чем вы должны заботиться, это гарантии производительности STL алгоритмы и структуры данных. Реализуются ли они в виде деревьев или маленькие зеленые человечки не должны иметь значения для тебя.

Я не уверен, что карта - это то, что мне нужно, но спасибо за информацию. Я буду помнить, чтобы использовать карты, когда это возможно, вместо реализации деревьев.

c++   tree   iterator    

414   2   21:34, 20th August, 2020


Много картинок в одной директории?

На сервере картинки выдаются при помощи сервера nginx.


Сколько максимально можно размещать картинок в 1 директории для ФС ext3, чтобы не возрастало время случайного доступа к файлам и не появлялось никакой излишней дополнительной нагрузки из-за поиска файлов в директории с огромным количеством файлов?


Соответственно такой же вопрос про директории: каким числом поддиректорий в директории лучше всего ограничиться?


Какие ограничения на длины имён директорий и файлов следует накладывать, чтоб не возрастало время поиска, какие ограничения на уровни вложенности?


Тот же вопрос интересует (но уже не в практических, а в познавательных целях) для ФС reiserfs, ext4, xfs, jfs… И какая из этих ФС лучше справится с такой задачей?

Файловые   системы    

318   6   21:15, 20th August, 2020


Подскажите систему для коллективного перевода/локализации

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

Требования:
* PHP (желательно, т.к. основной проект для которого это все задумывается на нём)
* хорошее API (т.к. авторизация собственная будет)
* возможность добавления своих форматов
* простота (как для пользователей, так и администраторов)

Чуть ранее на хабре рекомендовали GlotPress, НО
* бета
* код — ужас: комментариев очееееееень мало, большинство методов написано сплошными блоками (без пустых строк) — нет желания модифицировать и поддерживать это.

Кто что посоветует?



Опыт работы с документацией об архитектуре Shared Nothing

Есть ли у вас какой-либо опыт проектирования реальной архитектуры совместного использования? У вас есть какие-нибудь показания, чтобы рекомендовать меня?

architecture   shared-nothing    

499   3   21:10, 20th August, 2020


Увеличение разрешения захвата камеры в OpenCV

В моей программе C/C++ я использую OpenCV для захвата изображений из моего webcam. Камера (Logitech QuickCam IM) может снимать в разрешениях 320x240 , 640x480 и 1280x960 . Но, по какой-то странной причине, OpenCV дает мне изображения только с разрешением 320x240 . Вызовы для изменения разрешения с помощью cvSetCaptureProperty() с другими значениями разрешения просто не работают. Как я могу снимать изображения с другими разрешениями, возможными с помощью my webcam?

c   image   opencv   webcam   resolutions    

772   15   20:58, 20th August, 2020


Возможности С Открытым Исходным Кодом C#

Я скоро буду искать новые возможности трудоустройства. Я традиционно классифицировался как администратор рабочего стола, но на самом деле я больше похож на ИТ-швейцарский армейский нож. В настоящее время я нахожусь в команде администраторов, но меня просят сделать что-то типа разработки для команды. У меня есть опыт работы в C#/C++/C/Per/...ad nauseum, но ни один из них не входит в формальную команду разработчиков, работающую над формальным проектом. Чтобы исправить эту кажущуюся дыру в моем резюме, я хотел бы принять участие в хорошо управляемом проекте с открытым исходным кодом, над которым я мог бы работать по вечерам. Кто-нибудь знает сайт, где я мог бы найти такой проект? Или у кого-нибудь есть что-то, чтобы рекомендовать. Я знаю, что могу пойти на некоторые сайты, такие как sourceforge, чтобы найти проекты, но мне трудно определить, какие проекты активно ищут помощи, а какие являются просто чьим-то хобби-проектом, который они хотят развивать сами. Я думаю, что то, что я ищу, - это своего рода страница с открытым исходным кодом "classifieds". Спасибо за любые предложения.

c#   open-source    

592   9   20:41, 20th August, 2020


Доступен ли mozilla.org из Беларуси?

Получаю Request is timed out.


Вот кусок tracert:
5 40 ms 44 ms 44 ms core.10g.net.belpak.by [93.84.122.41]<br/>
 6 39 ms 39 ms 41 ms core.10g.net.belpak.by [93.84.125.6]<br/>
 7 88 ms 201 ms 167 ms po32.l3-gw-2.mck.net.belpak.by [193.232.250.76]<br/>
 8 51 ms 50 ms 50 ms msk03.transtelecom.net [217.150.41.42]<br/>
 9 * * * Request timed out.<br/>
 10 * * * Request timed out.<br/>
 11 * * * Request timed out.<br/>
 12 115 ms 115 ms 210 ms adm-b1-link.telia.net [213.248.78.73]<br/>
 13 116 ms 115 ms 115 ms adm-bb3-link.telia.net [80.91.253.157]<br/>
 14 205 ms 193 ms 115 ms ldn-bb1-link.telia.net [80.91.253.145]<br/>
 15 185 ms 187 ms 185 ms ash-bb1-link.telia.net [80.91.246.68]<br/>
 16 266 ms 272 ms 270 ms sjo-bb1-link.telia.net [80.91.252.220]<br/>
 17 * 277 ms 287 ms layer42-ic-120233-sjo-bb1.c.telia.net [80.239.193.126]<br/>
 18 269 ms 269 ms 269 ms ge2-24.core2.mpt.layer42.net [69.36.239.114]<br/>
 19 256 ms 336 ms 255 ms 216-129-125-186.cust.layer42.net [216.129.125.186]<br/>
 20 347 ms 257 ms 253 ms te-8-2.core2.sjc.mozilla.net [63.245.208.98]<br/>
 21 * * * Request timed out.<br/>
 22 * * * Request timed out.<br/>


В тоже время из Греции (через tracert.com)
traceroute to mozilla.org (63.245.209.11), 15 hops max, 40 byte packets<br/>
 1 warp-srv (147.102.222.200) 0.454 ms 0.341 ms 0.200 ms<br/>
 2 grnetRouter.ntua-primary.koletti-1.access-link.grnet.gr (194.177.209.117) 0.464 ms 0.497 ms 0.523 ms<br/>
 3 eie2-to-kol1.backbone.grnet.gr (195.251.27.54) 0.597 ms 0.542 ms 0.620 ms<br/>
 4 grnet.rt1.ath2.gr.geant2.net (62.40.124.89) 0.677 ms 0.731 ms 0.722 ms<br/>
 5 as0.rt1.vie.at.geant2.net (62.40.112.165) 32.033 ms 32.050 ms 32.021 ms<br/>
 6 tenGigabitEthernet1-3.ar2.VIE1.gblx.net (64.214.145.145) 32.055 ms 32.149 ms 32.110 ms<br/>
 7 MOZILLA-2.GigabitEthernet4-15.ar2.SNV2.gblx.net (206.57.3.82) 198.614 ms 198.600 ms 198.565 ms<br/>
 8 te-8-2.core2.sjc.mozilla.net (63.245.208.98) 198.734 ms 198.774 ms 198.695 ms<br/>
 9 moz.org01.nslb.sj.mozilla.com (63.245.209.11) 198.572 ms 198.653 ms 198.580 ms<br/>

Mozilla    

312   4   20:25, 20th August, 2020


Как остановить автоматический монтаж Тома NTFS на OS X?

Я немного новичок, когда дело доходит до более глубоких частей конфигурации OSX, и мне приходится мириться с довольно раздражающим придирчивым отношением, которое, хотя я могу смириться с этим, я знаю, что под Windows я мог бы отсортировать в считанные минуты.

В принципе, у меня есть внешний диск с двумя томами:

Один из них-это Том HFS+, который я использую для резервного копирования TimeMachine. Другой, том NTFS, который я использую для общего копирования файлов и т. д. На Mac и ящиках Windows.

Итак, что происходит, когда я подключаю диск к своему Mac USB, OSX отключается и монтирует оба тома и показывает значок на рабочем столе для каждого. Дело в том, что для удаления диска вам нужно извлечь том и в этом случае сделать это для обоих томов, что вызывает раздражающее диалоговое окно предупреждения, которое будет отображаться каждый раз.

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

  • Я пробовал просматривать параметры в Дисковой утилите
  • Я попытался установить AutoMount в No в /etc/hostconfig, но это слишком глобально для моего вкуса.
  • Я также пробовал предложенный подход к установке настроек в fstab, но, похоже, OSX (10.5) игнорирует эти настройки.

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

EDIT: спасибо куча хоп за ответ он работал удовольствие. Для записи оказывается, что это не было OSX, не поднимая настройки, которые у меня на самом деле были "msdos" вместо "ntfs" в столбце типа fs.

macos   hardware    

439   2   20:04, 20th August, 2020


Когда инициализируется NavigationService?

Я хочу поймать событие NavigationService.Navigating с моей страницы, чтобы предотвратить переход пользователя вперед. У меня есть обработчик событий, определенный таким образом:

void PreventForwardNavigation(object sender, NavigatingCancelEventArgs e)
{
    if (e.NavigationMode == NavigationMode.Forward)
    {
        e.Cancel = true;
    }
}
...

и это прекрасно работает. Однако я не уверен, где именно разместить этот код:

NavigationService.Navigating += PreventForwardNavigation;

Если я помещу его в конструктор страницы или инициализированный обработчик событий, то NavigationService все равно будет null, и я получу NullReferenceException. Однако если я помещаю его в обработчик загруженных событий для страницы, то он вызывается каждый раз при переходе на страницу. Если я правильно понимаю, это означает, что я обрабатываю одно и то же событие несколько раз.

Могу ли я добавить один и тот же обработчик к событию несколько раз (как это произошло бы, если бы я использовал загруженное событие страницы для его подключения)? Если нет, то есть ли какое-то место между инициализацией и загрузкой, где я могу сделать эту проводку?

.net   wpf   navigation    

433   2   19:48, 20th August, 2020


Посоветуйте зарубежные сайты по фрилансу(разработка оборудования)

Какие есть популярные зарубежные ресурсы для поиска заказчиков?
Интересует не обычный фриланс(программирование и дизайн), а сайты где можно найти заказы на разработку оборудования и другие инженерные работы.
Т.е. нужны либо сайты общей тематики, где есть такое направление, либо специализированные.
В английском работа, которая меня интересует называется «electronics design».

Заранее спасибо.

Фриланс   Карьера    

381   1   19:44, 20th August, 2020