c++ vector赋值问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++ vector赋值问题相关的知识,希望对你有一定的参考价值。

参考技术A std::vector
v1;
//
假定v1中已经保存了您的数据
std::vcctor
v2;
//
你想把v1中的数据拷贝到
v2中
//
初始化的v2没有分配内存,
这里是分配等同大小的内存
你也可以根据需要分配
v2.resize(v1.size());
//
记住
vector中分配的是一个块内存,
然后再次基础上作动态数据定义
//
成员函数获取的是数组的个数,
所以得乘以
sizeof(type)
memcpy(&v2[0],
&v1[0],
v1.size()
*
sizeof(type));
//搞定

C++ std::vector 赋值方法

【中文标题】C++ std::vector 赋值方法【英文标题】:C++ std::vector assign methods 【发布时间】:2018-06-28 16:59:06 【问题描述】:

有谁知道我如何通过工作代码实现这一点? 我的愿望是用类的可执行方法填充向量......

#include <iostream>
#include <vector>
#include <any>

class foo 
    public:
        void boo() 
            std::cout << "WM 2018" << std::endl;
        
;

int main(int argc, char const *argv[])

    std::vector<std::any> vec;
    vec.push_back( (new foo)->boo() );

    vec[0]();

    return 0;

【问题讨论】:

为什么要拥有它们?可能的 XY 问题。 见this post 了解一些想法。 【参考方案1】:

看来你想要std::vector&lt;std::function&lt;void()&gt;&gt;:

std::vector<std::function<void()>> vec[]() foo.boo();;

Demo

【讨论】:

以上是关于c++ vector赋值问题的主要内容,如果未能解决你的问题,请参考以下文章

C++ std::vector 赋值方法

C++中操作vector时出现的赋值和初始化的问题

C++ vector 赋值

关于C++ vector的拷贝

c++ 如何将一个vector内容赋值给另一个vector

vector<string> 批量 赋值 c++