1

这是我的第一篇文章,希望我没有犯任何错误。我有以下代码。我试图一次性分配和访问一个二维数组,更重要的是在一个字节数组中。我还需要能够单独访问每个子数组,如代码所示。它在调试模式下工作正常。尽管在 VS 2012 的发布版本中,当应用编译器优化时,它会在运行时引起一些问题。如果我禁用发布编译器优化,那么它可以工作。我需要做一些特殊的演员来通知编译器吗?

我在代码中的优先级是完整数组的快速分配和网络通信,同时使用它的子数组。

我不喜欢使用boost。

非常感谢 :)

void PrintBytes(char* x,byte* data,int length)
{
    using namespace std;
    cout<<x<<endl;
    for(  int i = 0; i < length; i++ )
    {
        std::cout << "0x" << std::setbase(16) << std::setw(2) << std::setfill('0');
        std::cout << static_cast<unsigned int>( data[ i ] ) << " ";
    }
    std::cout << std::dec;
    cout<<endl;
}

byte* set = new byte[SET_SIZE*input_size];
for (int i=0;i<SET_SIZE;i++)
{
    sprintf((char*)&set[i*input_size], "M%06d", i+1);
}
PrintByte((byte*)&set[i*input_size]);
4

0 回答 0