在不同对象之间使用sizeof出现的问题。
sample code:
class A
{
public:
void add(char* pa){int alen = sizeof(pa);}
a();
......
add(char* pa)
{
int alen = sizeof(pa);
}
-----------------------------------------
#include "A.h"
class B
{
public:
B();
.....
B()
{
A na;
char text[10];
memset(text,'\0',10);
strncpy(text,"test1",5);
int blen = sizeof(text);
na.add(text);
}
为什么在类B里的blen为10,而运行到A类时alen却为4?
如果吧sizeof改为strlen blen==alen。
这是什么回事呢 ?