测试函数的模板实现
-
- #ifndef MY_TEMPLATE_H_2016_0123_1226
- #define MY_TEMPLATE_H_2016_0123_1226
-
- template<int iArySize>
- void fnTestDataType() {
- char szBuf[iArySize] = {‘\0‘};
- unsigned short wTmp = 0;
- int iTmp = 0;
- long lTmp = 0;
- float f = .0f;
- double dbl = .0;
-
- char szBuf1[iArySize] = {‘\0‘};
- unsigned short wTmp1 = 0;
- int iTmp1 = 0;
- long lTmp1 = 0;
- float f1 = .0f;
- double dbl1 = .0;
-
- printf("============================================================\n");
- printf("char array size = %d\n", iArySize);
- printf("------------------------------------------------------------\n");
- printf("&szBuf[0] = \t0x%p\n", &szBuf[0]);
- printf("&szBuf[%d] = \t0x%p\n", iArySize - 1, &szBuf[iArySize - 1]);
- printf("&wTmp = \t0x%p\n", &wTmp);
- printf("&iTmp = \t0x%p\n", &iTmp);
- printf("&lTmp = \t0x%p\n", &lTmp);
- printf("&f = \t\t0x%p\n", &f);
- printf("&dbl = \t\t0x%p\n", &dbl);
-
- printf("&szBuf1[0] = \t0x%p\n", &szBuf1[0]);
- printf("&szBuf1[%d] = \t0x%p\n", iArySize - 1, &szBuf1[iArySize - 1]);
- printf("&wTmp1 = \t0x%p\n", &wTmp1);
- printf("&iTmp1 = \t0x%p\n", &iTmp1);
- printf("&lTmp1 = \t0x%p\n", &lTmp1);
- printf("&f1 = \t\t0x%p\n", &f1);
- printf("&dbl1 = \t0x%p\n\n", &dbl1);
- };
-
-
-
- #endif // #ifndef MY_TEMPLATE_H_2016_0123_1226
测试代码和实验结论
http://blog.csdn.net/lostspeed/article/details/50569619
DEBUG模式下, 内存中的变量地址分析
原文:http://www.cnblogs.com/findumars/p/5187267.html