如何在C ++ / CLI中指定固定大小的缓冲区?

时间:2010-01-26 09:29:48

标签: c++-cli

在C#中,我可以使用fixed关键字指定fixed sized buffer,如下所示:

public unsafe struct StructWithFixedBuffer
{
    public fixed char FixedBuffer[128];
}

我将如何在C ++ / CLI中表达相同的内容?

3 个答案:

答案 0 :(得分:9)

其中一个C ++ / CLI开发人员博客为此提供了模板解决方案的代码,我将尝试找到一个链接。

Ahh, found it. It's called inline_array.

答案 1 :(得分:2)

添加了C#语法,以表达您永远知道的C ++语法。 :)

public:
    wchar_t FixedBuffer[128];

答案 2 :(得分:1)

引用:

  

128元素char数组的大小是256字节。固定大小的char缓冲区每个字符总是占用两个字节,无论编码如何。

所以你想要:

struct StructWithFixedBuffer
{
    char FixedBuffer[128*2];
};