1

我有这个 typedef

typedef unsigned char uint8;

和这个变量

public : uint8* bufferOfExchange;

我怎样才能初始化这个缓冲区?

bufferOfExchange = ???
4

2 回答 2

2

像这样:

bufferOfExchange = new uint8[bufferSize]; //bufferSize is size_t type. 

//or
bufferOfExchange = otherBuffer; //otherBuffer is of same type

你还有什么看法?

更好的选择是使用std::vector<uint8>而不是uint8*

std::vector<uint8> bufferOfExchange;

现在,阅读一些好书以了解如何使用std::vector.

于 2011-11-24T15:46:00.850 回答
1

那么你没有缓冲区,只有一个未初始化的指针。您可以使用 new 像这样创建缓冲区:

bufferOfExchange = new uint8[10];

(10 是任意选择 - 使用您需要的缓冲区大小。)

但是,对于真正的代码,您可能需要std::vector<uint8>.

于 2011-11-24T15:46:53.643 回答