从Python移植到C++的大数组(任何想法)

2024-04-26 14:44:19 发布

您现在位置:Python中文网/ 问答频道 /正文

因此,我正在将一个程序从Python移植到c++中,这里有一段代码:

opcodes = [
        [0x1,'0x1',['b','b',]],
        [0x2,'call',['d',]],
        [0x3,'0x3',['w',]],
        [0x4,'0x4-return',[]],
        [0x5,'0x5',[]],
        [0x6,'0x6-condjump',['d']],
        [0x7,'0x7-condjump',['d']],
        [0x8,'0x8',[]],
        [0x9,'0x9',[]],
        [0xa,'0xa',['d',]],
        [0xb,'0xb',['w',]],
        [0xc,'0xc',['b',]],
        [0xe,'string',['str']],
        [0xf,'0xf',['w',]],
        [0x10,'0x10',['b',]],
        [0x11,'0x11',['w',]],
        [0x12,'0x12',['b',]],
        [0x14,'0x14',[]],
        [0x15,'0x15',['w',]],
        [0x16,'0x16',['b',]],
        [0x17,'0x17',['w',]],
        [0x18,'0x18',['b']],
        [0x19,'0x19',[]],
        [0x1a,'0x1a',[]],
      ]
我想知道将什么方法转换成C++数组是最好的方法。我对python不太熟悉抱歉听说这叫做嵌套列表?你知道吗

提前感谢所有的答案,这可能是python代码的最大障碍。你知道吗


Tags: 方法答案代码程序列表stringreturn数组
2条回答

创建一个结构或类来保存[0x1,'0x1',['b','b',]],比如

struct shmizzle {
   int forpult;
   char *yorgole;
   char **flubbo;
};

类可能更容易,因为初始化它更容易。不过我不是C++专家。你知道吗

这是C++ 11:

#include <string>
#include <vector>

struct OpCode {
  int code;
  const char* str;
  std::vector<const char*> extras;
};

OpCode opcodes[] = {
  {0x1,"0x1",{"b","b",}},
  {0x2,"call",{"d",}},
  {0x3,"0x3",{"w",}},
  {0x4,"0x4-return",{}},
  {0x5,"0x5",{}},
  {0x6,"0x6-condjump",{"d"}},
  {0x7,"0x7-condjump",{"d"}},
  {0x8,"0x8",{}},
  {0x9,"0x9",{}},
  {0xa,"0xa",{"d",}},
  {0xb,"0xb",{"w",}},
  {0xc,"0xc",{"b",}},
  {0xe,"string",{"str"}},
  {0xf,"0xf",{"w",}},
  {0x10,"0x10",{"b",}},
  {0x11,"0x11",{"w",}},
  {0x12,"0x12",{"b",}},
  {0x14,"0x14",{}},
  {0x15,"0x15",{"w",}},
  {0x16,"0x16",{"b",}},
  {0x17,"0x17",{"w",}},
  {0x18,"0x18",{"b"}},
  {0x19,"0x19",{}},
  {0x1a,"0x1a",{}},
};

相关问题 更多 >