#include #include #include #include #define i_key int #define i_val int #define i_tag ii #include #define i_key_str #define i_val int #define i_tag si #include int main() { { std::map hist; hist.emplace(12, 100).first->second += 1; hist.emplace(13, 100).first->second += 1; hist.emplace(12, 100).first->second += 1; for (auto i: hist) std::cout << i.first << ", " << i.second << std::endl; std::cout << std::endl; } c_auto (csmap_ii, hist) { csmap_ii_insert(&hist, 12, 100).ref->second += 1; csmap_ii_insert(&hist, 13, 100).ref->second += 1; csmap_ii_insert(&hist, 12, 100).ref->second += 1; c_foreach (i, csmap_ii, hist) printf("%d, %d\n", i.ref->first, i.ref->second); puts(""); } // =================================================== { std::map food = {{"burger", 5}, {"pizza", 12}, {"steak", 15}}; for (auto i: food) std::cout << i.first << ", " << i.second << std::endl; std::cout << std::endl; } c_auto (cmap_si, food) { c_forarray (cmap_si_raw, v, {{"burger", 5}, {"pizza", 12}, {"steak", 15}}) cmap_si_emplace(&food, c_pair(v)); c_foreach (i, cmap_si, food) printf("%s, %d\n", cstr_str(&i.ref->first), i.ref->second); puts(""); } }