简体   繁体   English

unsigned char std :: vector to unsigned char []?

[英]Unsigned char std::vector to unsigned char[]?

Simple question, how does one create a function which takes an unsigned char std::vector and spits out an unsigned char[] with a length . 简单的问题,如何创建一个函数,它接受一个unsigned char std::vector并吐出一个带有lengthunsigned char[] Thanks! 谢谢!

Ah, well it seems my problem was my knowledge of std::vector. 啊,好吧看来我的问题是我对std :: vector的了解。 I always believed that std::vector did not hold its values in linear fashion. 我一直认为std :: vector没有以线性方式保持其值。 That solves a lot of my problems. 这解决了我的很多问题。 Thanks! 谢谢!

Just use: &v.front() . 只需使用: &v.front()

If you need a copy use std::copy . 如果需要副本,请使用std::copy

Unfortunately, it's not a one liner, but it's not too bad: 不幸的是,它不是一个班轮,但它并不太糟糕:

 std::vector<unsigned char> v(10);
 unsigned char* a = new unsigned char[v.size()];
 std::copy(v.begin(), v.end(), a);
 delete [] a;

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM