• STL易错点总结(一)


    1.cin和cout消耗的时间比scanf和printf多得多,建议用后者

    2.memset不能对数组进行任意初始化,只能初始化为-10

    3.初始化一般用fill 

    1. 一维数组:fill (array,array+4,5);
    2. vector容器:fill (myvector.begin(),myvector.begin()+4,5);
    3. 一位数组:fill(a,a+maxn,-1)
    4. 二维数组:fill(Graph[0],Graph[0]+maxn*maxn,INF)

    4.vector使用clear清空后,内存仍存在,需要覆盖,建议每次使用重新定义

    5.queue和stack入队前不要忘记彻底pop清空,建议每次使用都重新定义

    6.vector<> v 在没有初始化大小时,不能使用scanf("%d",&v[i]) 赋值,只能使用push_back()

    7.string数组,可以直接用=赋值

    8.reverse(m.begin(),m.end());  将string 倒置

    9.

    1. string a;
    2. a[0]='a';
    3. a[1]='b';
    4. a[2]='c';
    5. cout<<a<<endl;  无法输出,必须用a+='a';
    6. 或者:a += char(num + '0');
    1. string a="12345";
    2. int n=stoi(a);
    3. 将数字字符串转化为int

    10.long double  的输入和输出都是用  %Lf

    11.unordered_map内部为hash 查找快

    12.vector  易错点:

    1. (1)如果使用resize  或者()初始化,就不能再使用push_back添加元素,这样会改变size的值,并且元素从size+1开始添加,只能通过v[i]进行赋值
    2. (2)注意:vector<> v 在没有初始化大小时,不能使用scanf("%d",&v[j]);赋值,只能使用push_back()

    13.  s.c_str()可以将string数组s转化为char数组输出,用%s

    14.输入带空格的字符串:getline(cin,str);

  • 相关阅读:
    c++(基数排序)
    halcon算子翻译——gen_measure_arc
    halcon算子翻译——fuzzy_measure_pos
    Halcon算子翻译——fuzzy_measure_pairs
    halcon算子翻译——fuzzy_measure_pairing
    halcon算子翻译——deserialize_measure
    Halcon算子翻译——close_measure
    Halcon算子翻译——dev_update_windowg
    Halcon算子翻译——dev_update_var
    Halcon算子翻译——dev_unmap_var
  • 原文地址:https://www.cnblogs.com/dreamzj/p/14427136.html
Copyright © 2020-2023  润新知