我是一个试图学习 C++ 的 Java 人。
我遇到了一些代码,在类型名称后面有一个 *. 例如:
char* socialNum[125][9];
和
CSampleDoc* pDoc = GetDocument();
星星是什么意思?
我是一个试图学习 C++ 的 Java 人。
我遇到了一些代码,在类型名称后面有一个 *. 例如:
char* socialNum[125][9];
和
CSampleDoc* pDoc = GetDocument();
星星是什么意思?
这意味着该变量是一个指针。
int myInt = 4;
int *myPointer = &myInt;
现在,myPointer
指向整数myInt
。指向某个东西基本上就是保存那个东西的内存地址。
既然你说你来自 Java,那么在 Java 中:
MyClass obj = new MyClass(); // obj is a reference (or pointer)
在 C++ 中与 this 等价:
MyClass *obj = new MyClass(); // obj is here a pointer as well.
// and once you are done with obj, don't forget to free the memory:
delete obj;
*
表示它是一条pointer
数据。
以这些为例:
int *myInt;
char *myChar;
MyClass *objectOfClass;
所有这些都是指向内存中数据的指针。指针的值是 an int
,它是该数据在内存中的地址(位置)。