c++ - 图库 API 设计

标签 c++ algorithm data-structures

我正在编写自己的图形库 Graph++ ,我对接口(interface)应该返回什么有疑问。例如,我的 BFS 应该返回什么,我很困惑它是否应该返回按顺序访问的一组 vertices ,或者我应该有 回调函数,它将在每次访问期间被调用。

什么可能是最好的选择,以便我的库可以轻松使用。

最佳答案

STL 中的一个重复模式是提供迭代器。您的遍历算法可能会返回一个开始迭代器,库用户可以根据需要递增它,同时与它或图形提供的 end() 迭代器进行比较。

visitor pattern也可能与您的兴趣相关。

关于c++ - 图库 API 设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7758264/

相关文章:

algorithm - 如何更正我的 Julia 程序中的拉格朗日插值错误

java - 为什么某些语言(例如C++和Java)具有内置的“链表”数据结构?

java - Java中游戏实体位置的高效映射

由整数键控并映射到空指针的 C 映射/哈希表

c++ - 在 C++ 中使用 cURL 和多线程

c++ - io_context或std::cout在多线程UDP服务器中的奇怪行为

c++ - 引用与指针

python - C++ 17 与 Python 2.7 的兼容性

php - 类似于Axis X, Y - 需要检查多个值,怎么办?

java - 需要优化算法 - 数组