我正在编写自己的图形库 Graph++ ,我对接口(interface)应该返回什么有疑问。例如,我的 BFS
应该返回什么,我很困惑它是否应该返回按顺序访问的一组 vertices
,或者我应该有 回调函数
,它将在每次访问期间被调用。
什么可能是最好的选择,以便我的库可以轻松使用。
最佳答案
STL 中的一个重复模式是提供迭代器。您的遍历算法可能会返回一个开始迭代器,库用户可以根据需要递增它,同时与它或图形提供的 end()
迭代器进行比较。
visitor pattern也可能与您的兴趣相关。
关于c++ - 图库 API 设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7758264/