Igraph содержит селекторные функции для вершин и ребер. Мне не ясно, в чем разница между стандартной и «немедленной» версиями или их использованием. Например, стандартный селектор вершин igraph_vs_vector появляется, чтобы загрузить вектор. Немедленная версия igraph_vss_vector не. Буду признателен за несколько примеров использования. Меня особенно интересует настройка свойств (скажем, «друга Боба») соседей первого порядка или вершины. Спасибо вперед.
Стандартные селекторы берут адрес неинициализированного igraph_vs_t
объект и «инициализировать» их. Вы должны уничтожить их позже с igraph_vs_destroy
чтобы избежать утечки памяти.
Непосредственные селекторы — это в основном просто удобство. Oни вернуть igraph_vs_t
объект сам по себе, но вы должны только передать их в другую функцию igraph (например, igraph_degree
Сразу и не держать их рядом. В свою очередь, вам не нужно уничтожать их igraph_vs_destroy
,
Итак, суть в следующем: если вам нужно держать селектор вершин в течение более длительного времени, используйте стандартные селекторы и убедитесь, что вы их уничтожили. Если вам нужен только селектор вершин, чтобы передать его непосредственно другой функции igraph, и селектор имеет немедленную версию, вы можете использовать его вместо этого, и тогда вам не нужно будет его уничтожать впоследствии.
Других решений пока нет …