c++ vector赋值问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++ vector赋值问题相关的知识,希望对你有一定的参考价值。
参考技术A std::vectorv1;
//
假定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<std::function<void()>>
:
std::vector<std::function<void()>> vec[]() foo.boo();;
Demo
【讨论】:
以上是关于c++ vector赋值问题的主要内容,如果未能解决你的问题,请参考以下文章