已经在C#-land了一段时间,我无法弄清楚如何在C++中做到这一点(在Arduino草图中)
我想从库中调用一个函数来返回一个未知长度的字节列表.有点像:
byte devices[] = MyLib::EnumerateDevices();
Run Code Online (Sandbox Code Playgroud)
在图书馆:
byte[] MyLib::EnumerateDevices()
{
int count = 0;
//some code that modifies count
static byte *temp = new byte[count]; // Assume count is 2 here
temp[0] = 42;
temp[1] = 44;
return temp;
}
Run Code Online (Sandbox Code Playgroud)
显然,我有所有指针和derefs要么丢失,要么在错误的地方......
救命?
戴夫
小智 6
这是矢量用于:
std::vector<int> func()
{
std::vector<int> r;
r.push_back(42);
r.push_back(1337);
return r;
}
Run Code Online (Sandbox Code Playgroud)
向量具有size()成员函数,可以准确返回所需内容.
如果你想从向量中指出一个指针,那么写
const int *p = &vec[0];
Run Code Online (Sandbox Code Playgroud)
(显然,int用你专门用于矢量的任何类型替换.)