“的自有功能模板”;插入“-方法(向量) 我还是一个C++初学者。我有以下问题:假设我有一个包含内容的字符串,我想将此内容复制到如下向量: std::string s{"Professional"}; std::vector<char> v{}; v.insert(s.begin(),s.end()); std::string s{“Professional”}; std::向量v{}; v、 插入(s.开始(),s.结束());

“的自有功能模板”;插入“-方法(向量) 我还是一个C++初学者。我有以下问题:假设我有一个包含内容的字符串,我想将此内容复制到如下向量: std::string s{"Professional"}; std::vector<char> v{}; v.insert(s.begin(),s.end()); std::string s{“Professional”}; std::向量v{}; v、 插入(s.开始(),s.结束());,c++,vector,insert,C++,Vector,Insert,我假设我的向量是空的,我可以用字符串的内容填充它。对于以上内容,我希望有一个自己的函数模板,如: template<typename InputIterator> void insert(InputIterator first, InputIterator last) { } 模板无效插入(先输入迭代器,后输入迭代器){ } 问题就在这里。我应该如何实现这一点?我很高兴能有个主意。谢谢您可以使用插入方法编写您自己的charVector派生自std::vector: struct

我假设我的向量是空的,我可以用字符串的内容填充它。对于以上内容,我希望有一个自己的函数模板,如:

template<typename InputIterator> void insert(InputIterator first, InputIterator last) {

}
模板无效插入(先输入迭代器,后输入迭代器){
}

问题就在这里。我应该如何实现这一点?我很高兴能有个主意。谢谢您可以使用
插入
方法编写您自己的
charVector
派生自
std::vector

struct charVector : std::vector<char>
{
    template<typename InputIterator>
    void insert(InputIterator first, InputIterator last)
    {
        assign( first, last );
    }
};

std::string s{"Professional"};
charVector v{};
v.insert( s.begin(), s.end() );

你需要一个参数来说明数据应该被插入到哪里。他想做一个模板函数来抽象数据类型,虽然我认为,尽管赋值仍然可以在这里用于此目的?谢谢你的帮助。实际上,我想将上述函数方法集成到我已经存在的类模板类测试{….}
#include <algorithm> // std::copy
#include <iterator>  // std::back_inserter

struct charVector : std::vector<char>
{
    template<typename InputIterator>
    void insert(InputIterator first, InputIterator last)
    {
        std::copy( first, last, std::back_inserter( *this ) );
    }
};