Zac*_*ack 0 c++ const-correctness mutable
图形可以表示为邻接矩阵或邻接列表.我的Graph对象将图形表示为邻接矩阵.出于性能原因,除非有要求,否则我不会计算邻接表; 但是,一旦提出要求,我想保留清单(以避免重新建立).
是否适合制作邻接列表mutable,以便用户可以为其他const Graph对象生成邻接列表?我问,因为我不相信构建邻接矩阵会被视为"物理"而不是"逻辑"改变状态Graph.我也有一个adjacencyListBuilt方法,因此邻接列表的构建不是"不可见的"(参见https://isocpp.org/wiki/faq/const-correctness#mutable-data-members).
如果我理解正确,声明adjacencyList实例变量mutable将允许任何方法更新它.有没有办法只有buildAdjacencyList方法能够修改对象adjacencyList上的实例变量const?