c ++将vector <unsigned char =“”>转换为unsigned char *

时间:2016-06-09 19:49:01

标签: c++

我有     @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); if(savedInstanceState == null){ checkAuthState(); } } - 我传递给它的函数需要std::vector<unsigned char> data = {0x00,0x00,0x00,0x01}; - 我执行以下操作:unsigned char *然后我将转换为函数。我将在整个代码中广泛使用它。我更喜欢使用向量,因为我发现它们更容易处理。现在的问题是 - 是否安全 - 我的意思是我可以指望它始终有效或者是一种慢或坏的方法吗?如果是这样,那么更好的方法是什么?

问候。

2 个答案:

答案 0 :(得分:4)

怎么样?
 std::vector<unsigned char> data;
 unsigned char* converted = &data[0];

答案 1 :(得分:1)

(data.size()? &data.front():nullptr)可以避免任何演员表演。