关于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]
第四个参数需要传入的为引用,直接传入实参即可,引用类型传入后,或许会在里面改变源值。
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]
第四个参数需要传入的为引用,直接传入实参即可,引用类型传入后,或许会在里面改变源值。
相关文章推荐
- c++的cout
- 【C语言】求斐波那契(Fibonacci)数列通项(递归法、非递归法)
- 【学习C++】2.cin与Enter
- c++函数参数类型-引用
- 关于 C++ list 一些使用
- c++实现归并排序
- C语言程序设计,实验报告程序
- C++中const用法总结
- 由find_char()函数所想到的
- c语言:双向循环链表的实现
- 在C++中使用sizeof
- C语言结构体变量字节对齐问题总结
- 计蒜客|C++程序设计|判断质数
- 线索二叉树的原理以及创建和遍历(c++)
- 设计模式--建造者模式C++实现
- 计蒜客|C++程序设计|简单斐波那契
- C++之:类对象内存对齐
- 学习 C++能带给我们什么
- C&&C++ 经典书籍
- C++精进篇(十)之―封装、继承、多态