c – 如何将一个矢量块复制到另一个矢量块
发布时间:2020-12-16 03:33:32 所属栏目:百科 来源:网络整理
导读:我使用数组来存储数据,但是我用vector替换了,所以我想用c运算符替换所有的c运算符.我使用memcpy复制一个内存块 for (i = 0; i rows_; i++) memcpy((T *) tmp.data_[cols_ * i],(T *) a.data_[cols_ * (2 * i + 1)],rows_ * sizeof(T)); 它也在使用向量,我只
我使用数组来存储数据,但是我用vector替换了,所以我想用c运算符替换所有的c运算符.我使用memcpy复制一个内存块
for (i = 0; i < rows_; i++) memcpy((T *) &tmp.data_[cols_ * i],(T *) &a.data_[cols_ * (2 * i + 1)],rows_ * sizeof(T)); 它也在使用向量,我只想知道c中是否存在等效函数? 我试过这个副本: std::copy(tmp.data_[cols_ * i],tmp.data_[cols_ * i+rows],a.data_[cols_ * (2 * i + 1)]); 但我收到以下错误: error: invalid use of member function (did you forget the ‘()’ ?) 例如: 我有一个2xnxn大小的数组,我正在使用for循环来制作一个nxn数组.例如我有1 2 3 4 5 6 7 8,我的新阵列必须如下:3 4 7 8.我用memcpy来实现这一目标,但我不知道如何在c中实现 解决方法
如果从数组复制到向量,请使用
std::copy 或
std::vector::assign
int from_array[10] = {1,2,3,4,5,6,7,8,9,10}; std::vector<int> to_vector; int array_len = sizeof(from_array)/sizeof(int); to_vector.reserve(array_len); std::copy( from_array,from_array+10,std::back_inserter(to_vector)); or C++11 std::copy( std::begin(from_array),std::end(from_array),std::back_inserter(to_vector)); std::vector<int> to_vector2; to_vector2.reserve(array_len); to_vector2.assign(from_array,from_array + array_len); 如果从矢量复制到矢量 std::vector<int> v1; std::vector<int> v2; v2 = v1; // assign operator = should work 如果你不需要保留v1,std :: swap也可以 v2.swap(v1); 更新: const int M = 2; const int N = 4; int from_array[M][N] = {{1,4},{5,8}}; std::vector<int> to_vector; to_vector.reserve(N); int start=2; int end = 4; for (int i=0; i<M; i++) { std::copy( from_array[i]+start,from_array[i]+end,std::back_inserter(to_vector)); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 使用Swift禁用MPMoviePlayerController的音频(和中断)
- c# – 如何在不返回301的情况下重定向MVC操作? (使用MVC 4
- Swift有两种不同的类型?
- c – EXPECT_EQ对于double或float的总和出错
- 《Big Data Glossary》笔记
- ruby-on-rails – Dockerized selenium浏览器无法访问Capyb
- ruby-on-rails – Rails – 捕获“无效的真实性令牌”异常
- ruby-on-rails – 在Ruby on Rails中使用simple_form的不同
- Oracle 11gR2 Database UNDO表空间使用率居高不下处理
- 2010提高组-C]关押罪犯(扩展域并查集