小编Ant*_*onU的帖子

试图更好地理解它。这两种实现有什么区别?

这两个例子都有效并且做同样的事情。我只是想了解它们在优化、速度和整体方面有什么区别。哪种方法更好,为什么?提前致谢。

第一个例子:

std::map<std::vector<int>, std::vector<double>> data
printMap(&data);

...

void printMap(std::map<std::vector<int>, std::vector<double>> *p_data){

    for(std::map<std::vector<int>, std::vector<double>>::iterator itr = p_data->begin(); itr != p_data->end(); ++itr){

        for(auto it = itr->first.begin(); it != itr->first.end(); ++it){
                std::cout << *it << std::endl;
            }
        for(auto it2 = itr->second.begin(); it2 != itr->second.end(); ++it2){
                std::cout << *it2 << std::endl;
            }
    }
}
Run Code Online (Sandbox Code Playgroud)

第二个例子:

std::map<std::vector<int>, std::vector<double>> data;
printMapRef(data);

void printMapRef(std::map<std::vector<int>,std::vector<double>> &data){
    for(std::map<std::vector<int>, std::vector<double>>::iterator itr = data.begin(); itr != data.end(); ++itr){

        std::vector<int> tempVecInt = (*itr).first;
        std::vector<double> tempVecDouble = (*itr).second;

        for (int i = 0; …
Run Code Online (Sandbox Code Playgroud)

c++ maps vector

0
推荐指数
1
解决办法
108
查看次数

标签 统计

c++ ×1

maps ×1

vector ×1