首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

vector常用操作

1.前言 昨晚在家,心血来潮想了解下vector,所以翻cppreference看了看,今天便小小总结下 2.常用函数的思维导图 这是我把cppreference中我常用的摘录下来做成的思维导图,更清晰一点...:把多余的内存给删掉,比如元素4个,内存有5,则把多余的一个内存给干掉,注意这个函数没有返回值 reserve:是内存预留空间,但是没有给新开的内存初始化,只是说明可以利用它,但是不能有效访问空间,因为现在里面什么都没...]:" std::endl; // 6 //std::cout std::endl; // 代码会报错,因为at里面会检查是否访问的超过了...std::endl; // 2 resize(3)执行后,应该元素里面就剩下0,1,2了,为什么v[6]还能访问呢 这和resize和迭代器工作方式有关,当调用v.resize(3);后,v的大小...所以,[]操作符和*it都是读取内存的值,但是他们访问的范围是不同的。[]操作符可以访问到任何位置的内存,包括超出v的大小范围的内存,而*it只能访问到v的大小范围内的内存。

9410
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    《C++11》深入探讨using并与typedef对比

    在C++编程中,类型别名的定义是一个常见且重要的需求。传统上,我们使用typedef来创建类型别名,但随着C++11的引入,using关键字为我们提供了更灵活和清晰的方式来定义类型别名。...实例说明 下面是一个完整的示例,展示了如何使用using和typedef来定义类型别名和模板别名: #include #include #include cout std::endl; return 0; } 4.1 输出结果...endl; // 直接使用 cout 和 endl return 0; } 解释: 在这个例子中,我们引入了整个 std 命名空间,因此可以直接使用 cout 和 endl,而不需要加上...总结 C++11的using关键字为类型别名的定义提供了更清晰和灵活的方式。通过using,我们不仅可以定义普通类型的别名,还可以轻松创建模板别名,极大地提高了代码的可读性和可维护性。

    6310

    从零开始学C++之对象的使用(一):static 成员变量、static 成员函数、类对象的大小

    可以实施封装,static成员可以是私有的,而全局对象不可以 阅读程序容易看出static成员与某个类相关联,这种可见性可以清晰地反映程序员的意图。... endl;     CountedObject co1;     //coutendl;     cout cout endl;     delete co2;     //coutendl;     ...     // 静态成员的定义性说明 int main(void) {     cout endl;     return 0; } 三、类/对象大小计算 类大小计算遵循前面学过的结构体对齐原则...(参照这里) 类的大小与数据成员有关与成员函数无关(空类大小为1个字节) 类的大小与静态数据成员无关 虚函数对类的大小的影响(参考这里) 虚继承对类的大小的影响(参考这里) 参考: C+

    1.2K00

    最全面的c++中类的构造函数高级使用方法及禁忌

    说明一下,我用的是gcc7.1.0编译器,标准库源代码也是这个版本的。 本篇文章讲解c++中,构造函数的高级用法以及特殊使用情况。 1....拷贝构造和移动构造区别 对于拷贝构造和移动构造,还是看一下这段代码: #include #include using namespace std; class...这与虚函数的机制有关,虚函数是存放在虚表的,而虚表是在构造函数执行完成以后才建立的,构造函数声明为virtual就会陷入到是先有鸡还是先有蛋的尴尬境地,所以编译器做了限制。...) { cout endl; } return 0; } 编译可以通过,说明构造函数允许抛出异常,但是这里有个隐含的问题...,那就很清晰了,在main函数执行以前,全局变量和静态变量的构造函数会先执行。

    1.8K30

    C++打怪升级(一)- 命名空间、缺省形参、重载

    ::cout std::endl; std::cout std::endl; return 0; } 于是,我们有了解决办法:把定义的全局变量放入不同的命名空间域中...::cout std::endl; std::cout std::endl; std::cout std::endl...endl; return 0; } cout(读作see out)和cin(读作see in)分别是ostream和istream类型的对象,使用cout标准输出对象(默认绑定控制台)和...cout和cin是全局的流对象,endl是特殊的C++符号,表示换行输出,他们都包含在包含头文件中。...函数名修饰规则与具体的编译器有关,不同的编译器具体实现也不一样, 接下来以linux下g++编译器的函数名修饰规则为例进行说明: 在linux下,采用g++编译完成后,函数名字的修饰发生改变

    88620
    领券