MultiMap が STL で「日付」、「価格」などの形式 (たとえば 07/10/2013 1000) で金融市場データを格納するのに最適なコンテナーであるかどうかを理解したいと思います。どちらが実装であるかを理解するために簡単な例を作成しようとしましたが、それらを印刷しようとすると恐ろしいエラーが発生しました。
class Date {
int day;
int month;
int year;
int value_of_date;
public:
Date(int d, int m, int y):
day(d),month(m),year(y){
value_of_date=year*10000 + month*100 + day;
}
friend ostream & operator<< (ostream &out, const Date &date);
};
ostream & operator<< (ostream &out, const Date &date) {
out << "(" << date.day << ", " <<
date.month << ", " <<
date.year << ")";
return out;
}
int main () {
std::multimap<Date,int> first;
first.insert(std::pair<Date,int>(Date(01,01,2000),1000));
first.insert(std::pair<Date,int>(Date(01,02,2000),1010));
first.insert(std::pair<Date,int>(Date(01,03,2000),1020));
first.insert(std::pair<Date,int>(Date(01,04,2000),1030));
for(auto i = first.cbegin(); i != first.cend(); i++) {
std::cout << i->first << " " << i->second << std::endl;
}
return 0;
}
比較 < operator() は私の問題ですか? < operator() を実装して日付をソートするにはどうすればよいですか。
Class Date を使用する代わりに、タイプ date のよりエレガントなソリューションはありますか?
これが金融市場データに最適なコンテナーである場合は?
助けてくれてありがとう