关于C++构造列表
来源:7-5 深度优先遍历和联通分量
Homo_sapiensQ
2017-10-31
Component(Graph &graph):G(graph)
typename Graph::adjIterator adj(G,v);
这两行代码每次理解起来都比较困难,波波老师能否讲一下~上网百度也没看懂什么是构造列表
写回答
1回答
-
随便翻了一个,我认为我讲也是这样。。。
http://www.cnblogs.com/BlueTzar/articles/1223169.html
简单地说,就是用graph初始化G。这里注意,由于G是一个引用,在C++语言中,我们只能使用构造列表的方式初始化G。
如果对C++语言不熟悉,这个课程的所有内容都配套有相应的Java代码,可以参考课程的官方github:https://github.com/liuyubobobo/Play-with-Algorithms
你写的第二行代码是使用G和v初始化Graph类下的adjIterator类的一个实例。这和初始化一个类是一样的,只不过adjIterator是Graph类下的一个内部类而已。adjIterator类我在课程中进行了具体实现,DenseGraph和SparseGraph下稍有不同,具体实现代码参见:
00
相似问题