내가 가진 *이 버퍼 UINT8를 초기화하는이 타입 정의는
typedef unsigned char uint8;
이이
public : uint8* bufferOfExchange;
가 어떻게이 버퍼를 초기화 할 수있는 변수? 이처럼
bufferOfExchange = ???
내가 가진 *이 버퍼 UINT8를 초기화하는이 타입 정의는
typedef unsigned char uint8;
이이
public : uint8* bufferOfExchange;
가 어떻게이 버퍼를 초기화 할 수있는 변수? 이처럼
bufferOfExchange = ???
:
bufferOfExchange = new uint8[bufferSize]; //bufferSize is size_t type.
//or
bufferOfExchange = otherBuffer; //otherBuffer is of same type
당신이 다른 어떻게 생각하십니까?
더 나은 선택은 uint8*
대신 std::vector<uint8>
를 사용하는 것입니다 :
std::vector<uint8> bufferOfExchange;
지금,
std::vector
를 사용하는 방법을 알 수있는 좋은 책을 읽고.
C#에서 byte []와 (과) 비슷한 것을 가지고 있습니다.). 그래서 C# (byte []) -> C++ (uint8 * buffer) 가능합니까? – curiousity
@curiousity :'std :: vector '을 사용하도록 제안했습니다. – Nawaz
감사합니다. NAWAZ – curiousity
글쎄 버퍼가없고 초기화되지 않은 포인터 만 있습니다. 이 같은 새와 버퍼를 만들 수 있습니다
bufferOfExchange = new uint8[10];
(10 임의의 선택 - 당신이 필요로하는 버퍼 크기를 사용합니다.) 그러나 실제 코드에 대한
, 당신은 아마 std::vector<uint8>
를 원하는 것입니다.
이 답변은 한 번 초기화하려는 값에 따라 다릅니다. – Mankarse
아마도'new uint8' 또는'uint8 [size]'또는 아마도 포인터가 필요하지 않을 수도 있습니다 ... – Hauleth
null로 초기화 할 수 있습니다 bufferOfExchange = 0; 또는 메모리를 할당 할 수 있습니다. bufferOfExchange = (uint8 *) malloc (1024); 등등 – Cyclonecode