vector相关知识点

简介: vector相关知识点

vector 底层原理

补充

vector 内存增长机制

强调1

gcc当中无参构造与有参构造的内存空间增长方式。

//无参构造
#include <iostream>
#include <vector>
using namespace std;
int main() {
  vector<int> vec1;
  for (int i = 1; i <= 10; i ++ ) {
    vec1.push_back(i);
    cout << i << "\t" << vec1.capacity() << endl;
  }
  return 0;
}

代码运行结果:

//有参构造
#include <iostream>
#include <vector>
using namespace std;
int main() {
  vector<int> vec2(10);
  cout<< "vec2.capacity :" << vec2.capacity() << endl;
  for (int i = 11; i <= 50; i ++ ) {
    vec2.push_back(i);
    cout << i << "\t" << vec2.capacity() << endl;
  }
  return 0;
}

代码运行结果:

vector 中reserve 和resize 的区别

vector的元素类型为什么不能是引用?

重点: 引用的特征:1. 引用必须初始化,不能初始化为空对象,初始化后不能改变指向;2. 引用是别名,不是对象,没有实际地址不能定义引用的指针,也不能定义引用的引用

vector 进行有参构造时,会创建空对象

充电站

推荐一个零声学院免费公开课程,个人觉得老师讲得不错,分享给大家:Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK等技术内容,立即学习


相关文章
|
存储 编译器 C++
vector使用及简单实现【STL】【附题】
vector使用及简单实现【STL】【附题】
37 0
|
存储 安全 Java
【面试题精讲】Vector 和 Stack 的区别?
【面试题精讲】Vector 和 Stack 的区别?
|
1月前
|
存储 C++ 容器
C++入门8——vector的使用
C++入门8——vector的使用
66 0
|
6月前
|
存储 算法 C++
【C++入门到精通】C++入门 —— vector (STL)
`std::vector`是C++标准库中的一个容器类模板,是一种动态数组,可以存储相同类型的元素。它提供了动态调整大小、快速随机访问、插入和删除元素的操作。
77 1
|
11月前
|
存储 算法 编译器
C++:STL第一篇vector
C++:STL第一篇vector
|
存储 算法 C++
C++初阶之一篇文章让你掌握vector(理解和使用)(下)
2.4 vector元素访问函数 2.4.1 operator[] reference operator[] (size_type n); const_reference operator[] (size_type n) const;
|
存储 编译器 C++
C++初阶之一篇文章让你掌握vector(理解和使用)(上)
1.什么是vector? 在C++中,std::vector是标准模板库(STL)中的一种动态数组容器,它可以存储任意类型的元素,并且能够自动调整大小。std::vector提供了许多方便的成员函数,使得对数组的操作更加简单和高效。
|
存储 算法 编译器
【C++STL】“vector“用法 入门必备 超详细
【C++STL】“vector“用法 入门必备 超详细
|
存储 搜索推荐 C++
竞赛:STL之vector用法详解(关于vector这一篇就够了!)
竞赛:STL之vector用法详解(关于vector这一篇就够了!)
|
存储 算法 Linux
【C++初阶】七、STL---vector介绍及使用
目录 一、vector的介绍 二、vector的使用 2.1 Construct 2.2 operator= 2.3 Iterators 2.4 Capacity 2.5 Element access 2.6 Modifiers
145 0
【C++初阶】七、STL---vector介绍及使用