• 【总结】OJ练习,进行的一些编程语言方面总结


    1.STL vector只有四个构造函数

    default (1)    
    explicit vector (const allocator_type& alloc = allocator_type());
    fill (2)    
    explicit vector (size_type n, const value_type& val = value_type(),
                     const allocator_type& alloc = allocator_type());
    range (3)    
    template <class InputIterator>
             vector (InputIterator first, InputIterator last,
                     const allocator_type& alloc = allocator_type());
    copy (4)    
    vector (const vector& x);

    第一个是默认构造函数,参数为内存分配器。

    第二个是fill类型构造函数,参数为n个vector元素类型的val值。

    第三个是范围的构造函数,参数为[first,last)的左闭右开范围区间。

    第四个是复制构造函数,参数当然为const vector &了。

    2.STL二维数组的构建。如 vector<vector<int> > vec;

    应该只有如下方法:

    vector a1;
    a1.push_back(1);
    a1.push_back(2);
    a1.push_back(3);
    vector a2;
    a2.push_back(2);
    a2.push_back(3);
    a2.push_back(4);
    
    vec.push_back(a1);
    vec.push_back(a2);

    所以,初始化一个二维数组是很麻烦的。好像用vector的话,没有更简便的方法了。最多就是,把a1和a2的初始化用范围构造函数,参数为已定义的数组名及数组名+长度

    3.有符号数和无符号数进行运算时,有符号数隐式转换为无符号数。如 int 转换为 unsigned int。

    4.multiset的插入是insert操作,删除是erase操作,遍历和取值是迭代器、没有下标操作符[]。

  • 相关阅读:
    10
    9
    8
    第七章
    第五章
    第六章
    android深度探索第四章
    android深度探索第三章
    android深度探索第二章
    android深度探索第一章
  • 原文地址:https://www.cnblogs.com/buxizhizhou/p/4687907.html
Copyright © 2020-2023  润新知