C言語でstd::byte
が注目されました。C++のstd :: byteはC#のbyteと同等ですか?
私は以下のコードを使用してオーディオを再生するためにバイト配列をC++に送信するため、この質問をしています。
C#の:
[DllImport ("AudioStreamer")]
public static extern void playSound (byte[] audioBytes);
C++:C++ 17の新byte
タイプでは
#define EXPORT_API __declspec(dllexport)
extern "C" void EXPORT_API playSound(unsigned char* audioBytes)
は、それは私がこれを行うことができるかもしれないように見えますnow:
C#の:
[DllImport ("AudioStreamer")]
public static extern void playSound (byte[] audioBytes);
C++:
#define EXPORT_API __declspec(dllexport)
extern "C" void EXPORT_API playSound(byte[] audioBytes)
私が使用コンパイラはまだC++ 17でbyte
をサポートしていないので、これはも動作するかどうかわかりません。
したがって、C++のstd::byte
は、byte
に相当します。 std::byte
をunsigned char*
以上に使用しない理由はありますか?
価値がありますhttp://stackoverflow.com/questions/43143318/stdbyte-on-odd-platformsそれは奇妙なプラットフォームから始まりますが、答えはすべての基本をカバーしています。 –
C#**は**バイトが正確に8ビットであることが必要ですが、C++とC#を連動させる場合、C++も8ビットバイトを使用していると考えることができます – MSalters