我想知道如何实际实现c ++ 11中使用的智能指针(由memory.h实现),最好是以一些易于阅读的形式实现。
当我打开/usr/include/memory.h
时,我看到了这一点:
// license removed as well as blank lines
#ifndef _MEMORY_H
#define _MEMORY_H 1
#include <features.h>
#ifndef _STRING_H
# include <string.h>
#endif /* string.h */
#endif /* memory.h */
在feature.h中,我进入了另一个包含迷宫的迷宫。是否有一些文档包含实现的详细信息以及源代码?
答案 0 :(得分:6)
有充分证据证明问题。查看libc ++和libstdc ++可能是最好的选择,然后记录它可能会有效。实现似乎非常合理:
http://llvm.org/svn/llvm-project/libcxx/trunk/include/memory http://llvm.org/svn/llvm-project/libcxx/trunk/src/memory.cpp
对于llvm,似乎相当干净。