栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

std::copy

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

std::copy

描述:
       拷贝容器指定数量元素到另一容器中。

定义:

template< class InputIt, class Size, class OutputIt >
OutputIt copy_n( InputIt first, Size count, OutputIt result );

template< class InputIt, class Size, class OutputIt >
constexpr OutputIt copy_n( InputIt first, Size count, OutputIt result );

可能的实现:

template< class InputIt, class Size, class OutputIt>
OutputIt copy_n(InputIt first, Size count, OutputIt result)
{
    if (count > 0) 
    {
        *result++ = *first;
        for (Size i = 1; i < count; ++i) 
        {
            *result++ = *++first;
        }
    }
    return result;
}

参数:
       first - 源容器的起始范围迭代器
       count - 要拷贝的元素个数
       result - 目标容器的起始范围迭代器

返回值:
       若 count>0 则返回目标范围中最后被复制元素后一元素的迭代器,否则为 result 。

示例:

#include 
#include 
#include 

int main()
{
	std::string s1 = "Hello world!";
	
	//使用std::back_inserter
	std::string s2;
	std::copy_n(s1.begin(), 5, std::back_inserter(s2));
	std::cout << s2 << std::endl;//Hello

	//使用resize + std::begin
	std::string s3;
	s3.resize(5);
	std::copy_n(s1.begin(), 5, s3.begin());
	std::cout << s3 << std::endl;//Hello
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/698284.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号