online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code   
Language
#include<iostream> #include<map> #include<unordered_map> struct CityRecord { std::string Name; uint64_t Population; double Latitude, Longtitude; //friend declaration for operator== }; //implement operator== bool operator==(const CityRecord &lhs, const CityRecord &rhs) { return (lhs.Name == rhs.Name) && (lhs.Population == rhs.Population) && (lhs.Latitude ==rhs.Latitude) && (lhs.Longtitude == rhs.Longtitude); } namespace std { template<> struct hash<CityRecord> { //-----------------------------------------------vvvvv-->added this const size_t operator()(const CityRecord& key) const { return hash<std::string>()(key.Name) ^ hash<uint64_t>()(key.Population) ^ hash<double>()(key.Latitude) ^ hash<double>()(key.Longtitude); } }; } int main() { std::unordered_map<CityRecord, uint32_t> foundedMap; foundedMap[CityRecord{ "London", 500000, 2.4, 9.4 }] = 1850; uint32_t NewYorkYear = foundedMap[CityRecord{ "NY", 7000000, 2.4, 9.4 }]; }

Compiling Program...

Command line arguments:
Standard Input: Interactive Console Text
×

                

                

Program is not being debugged. Click "Debug" button to start program in debug mode.

#FunctionFile:Line
VariableValue
RegisterValue
ExpressionValue