我应该在C++中编写一个库来处理到kad网络的连接。 我试图建立一个符合aMule & co。字符数组的赋值和管理
我真的无法理解这样的代码之间的区别:和
buffer = "\xe4\x20\x02";
,例如,此代码:
char p_buffer[36];
p_buffer[0] = 0xe4;
p_buffer[1] = 0x20;
p_buffer[2] = 0x02;
buffer = p_buffer;
(缓冲区是类的私有属性,而p_buffer是一个局部变量)
捕获与wireshark数据包给我不同的结果(第一个是正确的,因为我想,第二个不是),就像我做错了什么wi日小端/大端符号,我猜...
,为什么在类的构造函数我不能修改[私人]“的char *缓冲区”是这样的:
buffer[0] = 0xe4;
? (这是行不通的,退出没有任何追溯错误)
(如果它能够决定的事情,我使用的加密++和Boost库)
先感谢您的任何help_
好的。问题在于“静态”关键字。 非常感谢。 – 2009-08-12 07:39:16
不要只是在不知道它意味着什么的情况下抛弃“静态” - 如果您有这个类,递归或多个线程的多个实例,最终可能会导致数据损坏,因为您将共享相同的缓冲区在不止一个地方。我会给出更好的建议,但是对于您的计划,您没有具体的建议。 – bdonlan 2009-08-12 13:39:11