我正在将用C编写的DLL的头文件转换为Delphi,因此我可以使用DLL.
我的问题是有什么区别
int* i
Run Code Online (Sandbox Code Playgroud)
和
int *i
Run Code Online (Sandbox Code Playgroud)
我将第一个转换为
i: PInteger;
Run Code Online (Sandbox Code Playgroud)
但我不确定Delphi中第二个转换的正确转换.
从我的理解,第一个是一个简单的类型指针.第二个是指针变量.但我不确定区别是什么.
当我声明C++变量时,我这样做:
int a,b,c,d;
Run Code Online (Sandbox Code Playgroud)
要么
string strA,strB,strC,strD;
Run Code Online (Sandbox Code Playgroud)
即,首先是类型,然后是逗号分隔的变量名称列表.
但是,我声明了这样的指针:
int *a,*b,*c,*d;
Run Code Online (Sandbox Code Playgroud)
和这样的引用:
int &a,&b,&c,&d;
Run Code Online (Sandbox Code Playgroud)
应该是一致的
int* a,b,c,d;
Run Code Online (Sandbox Code Playgroud)
和
int& a,b,c,d;
Run Code Online (Sandbox Code Playgroud)
为什么不一致?
我已经做了一段时间了:
int* myIntPointer;
string* myString1,* myString2;
Run Code Online (Sandbox Code Playgroud)
但我注意到很多人这样做:
int *myIntPointer;
string *myString1, *myString2;
Run Code Online (Sandbox Code Playgroud)
哪一个比较常见?或者至少是一个很好的编程实践.