Perl有一个名为"ordered hash" 的结构Tie::IxHash
.可以将其用作哈希表/地图.条目按插入顺序排列.
不知道C++中是否有这样的东西.
以下是一个Perl代码示例:
use Tie::IxHash; tie %food_color, "Tie::IxHash"; $food_color{Banana} = "Yellow"; $food_color{Apple} = "Green"; $food_color{Lemon} = "Yellow"; print "In insertion order, the foods are:\n"; foreach $food (keys %food_color) { print " $food\n"; #will print the entries in order }
更新1
正如@ kerrek-sb指出的那样,可以使用Boost Multi-index Containers Library.只是想知道是否可以用STL做到这一点.