一个指针的运用

5 熟练使用指针操做 若是你不熟悉指针操做,那么你几乎没法设计出高效的服务器,若是你要真正的理解指针的概念,对于设计服务器来讲就是如虎添翼。 下面举个例子,如使用Recv接收数据到Buffer中后,你须要进行解密操做,你能够使用下面的方法进行: var   a,b:array [1..8] of byte;   i :integer;   ResultBuffer :array [1..Max] of byte; begin   for i := 1 to Sizeof(Buffer) div 8 do   begin     move(Buffer[(i-1)*8+1],a,8);     Des(a,b,true);  //这里使用DES加解密处理     move(b,ResultBuffer[(i-1)*8+1],8);   end; end 你们看一看,上面的代码,思路很清楚,就是将接收到的Buffer分别按8个提到变量a中,再使用DES解密算法解密成b,再放回ResultBuffer中。 若是你熟练使用指针的话,效率会极大的提升 var   a,b:Pbyte;   i :integer;   ResultBuffer :array [1..Max] of byte; begin   for i := 1 to Sizeof(Buffer) div 8 do   begin     a := @Buffer[(i-1)*8+1];     b := @ResultBuffer[(i-1)*8+1]     Des(a^,b^,true);  //这里使用DES加解密处理   end; end 再看一看上面的代码,是否是少了两个Copy数据的过程,这就是指针给你带来的高效。
相关文章
相关标签/搜索