每当我在c ++上设计新的数据结构时,我都会遇到指针,引用,常量等问题......有人可以向我推荐一些关于设计容器的好书吗?
P.S书约翰迈耶斯,这是一个很好的选择吗?答案 0 :(得分:1)
Nicolai M. Josuttis在“The C ++ Standard Library:A Tutorial and Reference”中详细描述了如何实现STL。
Meyer的有效STL不太全面,但确实有一个关于容器的部分。
答案 1 :(得分:0)
Scott Meyers的Effective C ++对于一般的C ++魔法来说是一个非常好的资源,它确实对类设计进行了很好的讨论,但老实说我认为他的“更有效的C ++”更适合你所说的内容关于。它谈论了很多关于类设计概念,如引用计数,写时复制等。它可能对你正在寻找的东西有点高级,但它可能是高级类设计的最佳介绍。
我也认为Herb Sutter的“Exceptional C ++”可能会很好。我知道它在设计字符串类方面有一个非常好的讨论,而且这个例子非常有用,我推荐它超越其他一切。如果您觉得有用,可以进行讨论is also available online。
这两个讨论都更多地是关于围绕数据结构设计良好抽象的机制,但他们并没有谈论一般的数据结构。有很多引人入胜的数据结构,在尝试实现自己的数据结构之前看一些它们可能是个好主意。我个人认为你可以通过采用已知的数据结构和编码来学习很多关于类设计的知识,尽管我承认这可能不是学习如何编码的最佳方式。如果您有兴趣看到一些有趣的数据结构(如二进制堆,红黑树,二项式堆,B树,不相交集林和Fibonacci堆),请考虑选择“算法简介”,第3版版本“由Cormen,Leisserson,Rivest和Stein。它被广泛认为是算法上最好的文本之一,并且有足够的伪代码,如果你想编写一个好的数据结构,你几乎肯定会在这里找到足够的提示。这些结构与上述书籍相结合,应该有各种各样的信息。获得了大量的阅读权,但是如果你能通过它们,那么你将很好地走向数据结构宗教。
希望这有帮助!