C++ fill()函数解析

2024-03-19 06:38
文章标签 c++ 函数 解析 fill

本文主要是介绍C++ fill()函数解析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

C++ fill()函数解析

函数原型

void fill (ForwardIterator first, ForwardIterator last, const T& val);

  • Fill range with value;
  • Assigns val to all the elements in the range [first,last).
    即:按照单元赋值,将一个区间的元素都赋同一个值

函数使用

fill()函数使用时,需要包含头文件.

  1. 例如,使用fill() t填充 数组,fill(array, array+n, value).
    新建fill_array_test.cpp
$ touch fill_array_test.cpp
$ gedit fill_array_test.cpp

编辑文件,内容如下:

#include <iostream>
#include <algorithm>
#include <cstdio>
using namespace std;
int main() {int array[20];//全部填充1fill(array, array + 20, 1);cout <<"全部填充1"<<endl;for(int item = 0; item < sizeof(array)/sizeof(int);item++)cout << array[item]<<"";cout <<endl<<"前10个元素填充2"<<endl;    //前10个元素填充2fill(array, array + 10, 2);for(int item = 0; item < sizeof(array)/sizeof(int);item++)cout << array[item]<<"";  cout <<endl;return 0;
}

编译执行

$ g++ fill_array_test.cpp -o fill_array_test.out
$ ./fill_array_test.out

运行结果:

全部填充1
11111111111111111111
前10个元素填充2
22222222221111111111
  1. 例如,使用fill() t填充vector类型变量,fill(vector.start(), vector.end(), value).
    新建fill_vector_test.cpp
$ touch fill_vector_test.cpp
$ gedit fill_vector_test.cpp

编辑fill_vector_test.cpp

#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main() {vector<int> v{1,1,1,1,1,1,1,1,1,1,1,1,1};cout<<endl;for(int item =0; item<v.size(); item++)cout<<v[item]<<" " ;cout<<endl;fill(v.begin(), v.end(), 2);cout<<endl;for(int item =0; item<v.size(); item++)cout<<v[item]<<" " ;cout<<endl;return 0;
} 

编译执行:

$ g++ fill_vector_test.cpp -o fill_vector_test.out
$ ./fill_vector_test.out

运行结果如下:

1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 

这篇关于C++ fill()函数解析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/825108

相关文章

C/C++中OpenCV 矩阵运算的实现

《C/C++中OpenCV矩阵运算的实现》本文主要介绍了C/C++中OpenCV矩阵运算的实现,包括基本算术运算(标量与矩阵)、矩阵乘法、转置、逆矩阵、行列式、迹、范数等操作,感兴趣的可以了解一下... 目录矩阵的创建与初始化创建矩阵访问矩阵元素基本的算术运算 ➕➖✖️➗矩阵与标量运算矩阵与矩阵运算 (逐元

C/C++的OpenCV 进行图像梯度提取的几种实现

《C/C++的OpenCV进行图像梯度提取的几种实现》本文主要介绍了C/C++的OpenCV进行图像梯度提取的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录预www.chinasem.cn备知识1. 图像加载与预处理2. Sobel 算子计算 X 和 Y

C/C++和OpenCV实现调用摄像头

《C/C++和OpenCV实现调用摄像头》本文主要介绍了C/C++和OpenCV实现调用摄像头,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录准备工作1. 打开摄像头2. 读取视频帧3. 显示视频帧4. 释放资源5. 获取和设置摄像头属性

c/c++的opencv图像金字塔缩放实现

《c/c++的opencv图像金字塔缩放实现》本文主要介绍了c/c++的opencv图像金字塔缩放实现,通过对原始图像进行连续的下采样或上采样操作,生成一系列不同分辨率的图像,具有一定的参考价值,感兴... 目录图像金字塔简介图像下采样 (cv::pyrDown)图像上采样 (cv::pyrUp)C++ O

c/c++的opencv实现图片膨胀

《c/c++的opencv实现图片膨胀》图像膨胀是形态学操作,通过结构元素扩张亮区填充孔洞、连接断开部分、加粗物体,OpenCV的cv::dilate函数实现该操作,本文就来介绍一下opencv图片... 目录什么是图像膨胀?结构元素 (KerChina编程nel)OpenCV 中的 cv::dilate() 函

Mybatis Plus JSqlParser解析sql语句及JSqlParser安装步骤

《MybatisPlusJSqlParser解析sql语句及JSqlParser安装步骤》JSqlParser是一个用于解析SQL语句的Java库,它可以将SQL语句解析为一个Java对象树,允许... 目录【一】jsqlParser 是什么【二】JSqlParser 的安装步骤【三】使用场景【1】sql语

C++ RabbitMq消息队列组件详解

《C++RabbitMq消息队列组件详解》:本文主要介绍C++RabbitMq消息队列组件的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. RabbitMq介绍2. 安装RabbitMQ3. 安装 RabbitMQ 的 C++客户端库4. A

SpringBoot整合Sa-Token实现RBAC权限模型的过程解析

《SpringBoot整合Sa-Token实现RBAC权限模型的过程解析》:本文主要介绍SpringBoot整合Sa-Token实现RBAC权限模型的过程解析,本文给大家介绍的非常详细,对大家的学... 目录前言一、基础概念1.1 RBAC模型核心概念1.2 Sa-Token核心功能1.3 环境准备二、表结

Python函数返回多个值的多种方法小结

《Python函数返回多个值的多种方法小结》在Python中,函数通常用于封装一段代码,使其可以重复调用,有时,我们希望一个函数能够返回多个值,Python提供了几种不同的方法来实现这一点,需要的朋友... 目录一、使用元组(Tuple):二、使用列表(list)三、使用字典(Dictionary)四、 使

Java 关键字transient与注解@Transient的区别用途解析

《Java关键字transient与注解@Transient的区别用途解析》在Java中,transient是一个关键字,用于声明一个字段不会被序列化,这篇文章给大家介绍了Java关键字transi... 在Java中,transient 是一个关键字,用于声明一个字段不会被序列化。当一个对象被序列化时,被