我正在从《用 C++ 思考》一书中学习 C++。有一段代码看不懂。它是包含字符或整数数组的结构的成员函数。add 函数应该添加每个元素:char 或 int。
int Stach::add(const void* element){
int startBytes=next*size; //according to the book, next is the next space available and the size is the size of the space
unsigned char* e=(unsigned char*)element;
for(int i=0; i<size;i++)
storage[startBytes+i]=e[i];
next++;
return(next-1);// return index
}
我不明白的部分是什么是空间,空间的大小是多少?这本书没有解释它是什么。另外,我很困惑
unsigned char* e=(unsigned char*)element;
for(int i=0; i<size;i++)
storage[startBytes+i]=e[i];
我对这个函数的理解是它会逐字节地复制一个占用 4 个字节的 int?我理解正确吗?我该如何解释
unsigned char* e=(unsigned char*)element;
非常感谢。