对于像STL,Win32,Boost,posix等当前C / C ++库的大尺寸,出现了哪些标识符存在问题的问题。即使使用命名空间,在设计一个旨在与现有库一起工作的新库时,能够选择不与其他库的最常用标识符冲突的标识符也是很好的。
至少对于C ++标准库(包括0x),应该有可用的列表。认为有人为此目的做了一个工具是合理的,它会读取一组头文件并创建一个由命名空间排序的所有名称的列表。谁知道这样的工具?该工具最好读取目录树中的所有头文件,而不仅仅是特定cpp文件中的#included。
答案 0 :(得分:4)
即使使用命名空间,在设计一个旨在与现有库一起工作的新库时,能够选择不与其他库的最常用标识符冲突的标识符也是很好的。
我意识到有不少图书馆这样做,但这种尝试从根本上被误导了。
不要设计您的标识符,以免它们发生冲突,设计它们以使它们清晰,简洁和具有描述性。这些应该是唯一的标准。
由于命名空间,标识符冲突是一个已解决的问题。如果使用得当,名称冲突就不会出现。
答案 1 :(得分:-1)
使用egrep怎么样? [嘟m声嘟嘟得30个字符]