• 每日接触概念不清知识点2018.8.22


    每日接触概念不清知识点2018.8.22

    浅拷贝和深拷贝

    浅拷贝:如果复制的对象中引用了一个外部内容(例如分配在堆上的数据),那么在复制这个对象的时候,让新旧两个对象指向同一个外部内容,就是浅拷贝。(指针虽然复制了,但所指向的空间内容并没有复制,而是由两个对象共用,两个对象不独立,删除空间存在)

    深拷贝:如果在复制这个对象的时候为新对象制作了外部对象的独立复制,就是深拷贝。

    迭代器使用

    迭代器是一个类,它实现于容器模板中。

                它的对象是一个指向容器中的一个元素,它实现的*运算符,给人的感觉它好像是个指针。

                从容器中获取到迭代器是一个半开半闭区间[start,end)

    容器::iterator iter;

    for(iter= 容器.begin();iter!=容器.end();iter++)

    {

    cout<<*iter或者是 iter->first等等之类的

    }

    vector

    #include <iostream>

    #include <vector>

     

    intmain()

    {

        std::vector<char> charVector;

     

        intx;

        for(x=0; x<10; ++x)

            charVector.push_back(65 + x);

     

        intsize = charVector.size();

        for(x=0; x<size; ++x)

        {

            std::vector<char>::iterator start =

                charVector.begin();

            charVector.erase(start);

            std::vector<char>::iterator iter;

            for(iter = charVector.begin();

                    iter != charVector.end(); iter++)

            {

                std::cout << *iter;

            }

            std::cout << std::endl;

        }

     

        return0;

    }

     

    map容器

    它底层以采用的是红黑树(有序+平衡)进行存储的。

                一个键值(主键)只能对应一个值。

    测试代码

    #include <iostream>

    #include <map>

    using namespace std;

     

    int main()

    {

                map<int,const char*> m;

                m.insert(make_pair(1,"hehe1"));

                m.insert(make_pair(2,"hehe2"));

                m.insert(make_pair(3,"hehe3"));

                map<int,const char*>::iterator it = m.find(2);

                cout << it->first << " " << it->second << endl;

               

    }

  • 相关阅读:
    CF997C Sky Full of Stars
    LOJ6160 二分图染色
    AT4996 [AGC034F] RNG and XOR
    AT4119 [ARC096C] Everything on It
    20200701线性代数概率期望练习
    SNOI2020 LOJ3326 字符串
    SNOI2020 LOJ3323 生成树
    SNOI2020 LOJ3324 取石子
    Gym-102576A Bags of Candies
    Gym-102576H Lighthouses
  • 原文地址:https://www.cnblogs.com/gzk1171848896/p/9520392.html
Copyright © 2020-2023  润新知