我正在编写一个 C++ 应用程序,我需要缓存已到达的最后n条消息。而且我需要一种方法来获取存储的最后一条消息的索引,以便以后可以找出所有随后到达的消息。由于该索引必须通过 HTTP 来回传输,因此它应该易于表示和检查,因为它可能成为不安全的用户内容。
到目前为止,我正在考虑使用boost::circular_buffer
. 但是除了迭代器之外,我找不到找出最新条目索引的方法。
那么有没有办法(有效地)获得整数索引?
或者有没有办法将迭代器编码和解码成一个可以保存验证的字符串?
或者甚至是我还没有想到的完全不同的方式?
(允许使用 C++11 之前的任何内容;STL/stdlib 和 Boost 是首选)