C++ Vector Resize函数[通俗易懂]

C++VectorResize函数ChangesizeResizesthecontainersothatitcontainsnelements.Ifnissmallerthanthecurrentcontainersize,thecontentisreducedtoitsfirstnelements,removingthosebeyond(anddestroyingthem).Ifnisgreaterthanthecu

大家好,又见面了,我是你们的朋友全栈君。

C++ Vector Resize函数

Change size

Resizes the container so that it contains n elements.

If n is smaller than the current container size, the content is reduced to its first n elements, removing those beyond (and destroying them).

If n is greater than the current container size, the content is expanded by inserting at the end as many elements as needed to reach a size of n. If val is specified, the new elements are initialized as copies of val, otherwise, they are value-initialized.

If n is also greater than the current container capacity, an automatic reallocation of the allocated storage space takes place.

Notice that this function changes the actual content of the container by inserting or erasing elements from it.

void resize (size_type n, value_type val = value_type());

改变vector容器的大小。

改变容器的大小使他包含 n n n个元素。

  • 如果 n n n 小于当前容器大小,则内容减少到前 n n n个元素,移除后面的元素。
  • 如果 n n n 大于当前容器大小,则在后面插入一些元素至 n n n个大小,如果 v a l val val被定义则插入 v a l val val的复制,否则插入默认值 0 0 0
  • 如果 n n n大于当前容器的容量 ( c a p a c i t y ) (capacity) (capacity),则自动进行内容重新分配。

实例

// resizing vector
#include <iostream>
#include <vector>

int main ()
{ 
   
  std::vector<int> myvector;

  // set some initial content:
  for (int i=1;i<10;i++) myvector.push_back(i);

  myvector.resize(5);
  myvector.resize(8,100);
  myvector.resize(12);

  std::cout << "myvector contains:";
  for (int i=0;i<myvector.size();i++)
    std::cout << ' ' << myvector[i];
  std::cout << '\n';

  return 0;
}

结果

myvector contains: 1 2 3 4 5 100 100 100 0 0 0 0
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/126842.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Linux安装RabbitMQ[通俗易懂]

    CentOSrelease6.6,python,erlang,rabbitmq

    2022年4月9日
    61
  • java构造函数可以重载么_Java 构造函数和函数重载「建议收藏」

    java构造函数可以重载么_Java 构造函数和函数重载「建议收藏」构造函数:⑴方法名和类名相同,而且没有返回类型(包括void也没有);⑵没有返回值;⑶如果没有输入构造函数,jvm会自动帮我们创建一个不带参数,没有任何函数体的的构造函数;如果我们手动的创建了其他构造函数,就不会帮我们创建这个不带参数的构造函数了;⑷一般情况下,如果想要实现自己的构造方法,最好重载一个不带参数的构造方法。函数重载:指多个函数可以使用同一个函数名,只要它们参数列表不同,将意义相近…

    2022年6月18日
    45
  • 数据采集与清洗基础习题(三)Python正则表达式,头歌参考答案

    数据采集与清洗基础习题(三)Python正则表达式,头歌参考答案数据采集习题参考答案,会持续更新,点个关注防丢失。创作不易,一键三连给博主一个支持呗。目录实训八:Python正则表达式断言第一关:先行断言第一关答案第二关:后发断言第二关答案实训九:python正则表达式标记实训九答案实训八:Python正则表达式断言第一关:先行断言编程要求请根据相关知识补充右侧Begin-End之间的代码,并完成下列任务:使用正向先行断言获取字符串中以ing结尾的字符(不能为空)。相关知识先行断言分为正向先行断.

    2022年10月3日
    0
  • Java8 Lambda表达式教程

    Java8新特性,Lambda表达式与集合类bulkoperation教程。迄今为止最全面的中文原创javalambda表达式教程。

    2022年4月7日
    46
  • 联想笔记本电脑的F1至F12键盘问题。怎么设置才能不按FN就使用F1「建议收藏」

    联想笔记本电脑的F1至F12键盘问题。怎么设置才能不按FN就使用F1「建议收藏」在BIOS中有相应调整开关,开机时进入BIOSCONFIGKeyboard/MouseChangeto"f1-f12keys"选项设置为Legacy。完成后保存重启就

    2022年8月1日
    2
  • 3、搭建rtmp视频推流服务器

    3、搭建rtmp视频推流服务器Linux安装nginx一般我们都需要先装pcre,zlib,前者为了重写rewrite,后者为了gzip压缩。1.选定源码目录cd/usr/local/src2.安装PCRE库下载wgethttps://netix.dl.sourceforge.net/project/pcre/pcre/8.40/pcre-8.40.tar.gz解压安装包tar-zxvfpcre-8.40.tar.gz进入安装目录cdpcre-8.40编译安装./configuremake

    2022年10月20日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号