zoukankan      html  css  js  c++  java
  • C++之标准库vector


    • std::vector是一个封装动态数组的序列容器

    • std::pmr::vector是一个使用多态分配器的别名模板。

    1、成员函数

    • vector::vector:构造函数,用于构造向量。

    • vector::~vector:析构函数,对象撤销回收时调用。

    • vector::operator:分配值到容器中。

    • vector::assign:分配值到容器中。

    • vector::get allocator:返回相关的分配器。

    2、元素访问

    • vector::at:访问边界检查的指定元素。

    • vector::operator[]:访问具体元素。

    • vector::front:返回第一个元素。

    • vector::back:返回最后一个元素。

    • vector::data:直接访问底层数组。

    3、迭代器iterator

    • vector::begin/cbegin:将迭代器返回到开头。

    • vector::end/cend:将迭代器返回到末尾。

    • vector::rbegin/crbegin:将反向迭代器返回到开头。

    • vector::rend/crend:将反向迭代器返回到末尾。

    4、容量capacity

    • vector::empty:检查容器是否为空。

    -vector::size:返回元素的数量。

    -vector::max_size:返回最大的可能的元素数量。

    • vector::reserve:反向存储。

    • vector::capacity:返回当前分配存储中可以保留的元素数量。

    • vector::shrink_to_fit:通过释放未使用的内存,减少内存的使用。

    5、修改函数

    • vector::clean:清除内容。

    • vector::insert:插入元素。

    • vector::empalce:就地构造元素。

    • vector::erase:擦除元素。

    • vector::push_back:添加一个元素到末尾。

    • vector::emplace_back:在末尾就地构造一个元素。

    • vector::pop_back:移除最后一个元素。

    • vector::resize:改变元素存储的数量。

    • vector::swap:交换内容。

    举例:

    
    #include <vector>
    #include <string>
    #include <iostream>
    
    template<typename T>
    std::ostream& operator<<(std::ostream& s, const std::vector<T>& v) {
    s.put('[');
    char comma[3] = {'', ' ', ''};
    for(const auto& e : v) {
    s << comma << e;
    comma[0] = ',';
    }
    return s << ']';
    }
    
    int main() {
    // 初始化符号
    std::vector<std::string> words1 {"the", "frogurt", "is", "also", "cursed"};
    std::cout << "words1: " << words1 << "
    ";
    
    // words2 == words1
    std::vector<std::string> words2(words1.begin(), words1.end());
    std::cout << "words2: " << words2 << "
    ";
    
    // words3 == words1
    std::vector<std::string> words3(words1);
    std::cout << "words3: " << words3 << "
    ";
    
    // words4 is {"Mo", "Mo", "Mo", "Mo", "Mo"}
    std::vector<std::string> words4(5, "Mo");
    std::cout << "words4: " << words4 << "
    ";
    }
    
    
  • 相关阅读:
    Powershell数据处理
    Powershell About Active Directory Group Membership of a domain user
    Powershell About Active Directory Server
    Oracle Schema Objects——Tables——TableStorage
    Oracle Schema Objects——Tables——TableType
    English Grammar
    Oracle Database Documentation
    Oracle Schema Objects——Tables——Oracle Data Types
    Oracle Schema Objects——Tables——Overview of Tables
    What is Grammar?
  • 原文地址:https://www.cnblogs.com/hugechuanqi/p/10776002.html
Copyright © 2011-2022 走看看