您的位置:首页 > 编程语言 > C语言/C++

关于C++ 引用<初学写代码小记>

2016-03-26 11:55 183 查看
INT BufPos = 0;

INT BufPos2 =0;

CHAR TmpBuf[1025]; //临时空间,用于生成封包

CHAR TmpBuf2[1025];

memset(TmpBuf,0,sizeof(TmpBuf));

memset(TmpBuf2,0,sizeof(TmpBuf2));

WriteToTempBuf((CHAR*)&Msg.m_ChrID,sizeof(INT),TmpBuf,BufPos);

WriteToTempBuf((CHAR*)&m_GameRulerInfo,sizeof(BYTE),TmpBuf,BufPos);

VOID WriteToTempBuf( CHAR* pData, INT nLen,CHAR* TmpBuf,INT& BufPos) //写包体,要加密

{

if ( ( pData != NULL ) && ( nLen > 0 ) )

{

memmove( (VOID*)&TmpBuf[BufPos],(VOID*)(pData), nLen );

BufPos += nLen;

}

}

-----------------------------------------------------------------------

WriteToTempBuf 中

第一个变量需要传入的是char类型的指针,但Msg.m_ChrID为int类型,所以在传入的时候先取出地址 &Msg.m_ChrID //其实地址就是指针

然后拿指针进行强转(CHAR*)为char类型的指针

第二个参数变量则为长度

第三个参数需传入的变量则为 char类型的指针,TmpBuf 本身定义为char类型,并且一般都是默认为数组为地址的,故直接传入,也可以写成&TmpBuf[0]

第四个参数需要传入的为引用,直接传入实参即可,引用类型传入后,或许会在里面改变源值。


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: