.net 在考虑了你的答案之后。这对我来说意义重大。句柄是更一般的术语。请您验证一下:指针必须有一个称为指针的内存地址。句柄是一个更一般的术语,它不需要保存内存地址,而是内核可以理解的任何整数值。所以一个句柄可以存储一个1234545,它不是内存地址,但内核使用这个

.net 在考虑了你的答案之后。这对我来说意义重大。句柄是更一般的术语。请您验证一下:指针必须有一个称为指针的内存地址。句柄是一个更一般的术语,它不需要保存内存地址,而是内核可以理解的任何整数值。所以一个句柄可以存储一个1234545,它不是内存地址,但内核使用这个,.net,pointers,clr,handle,.net,Pointers,Clr,Handle,在考虑了你的答案之后。这对我来说意义重大。句柄是更一般的术语。请您验证一下:指针必须有一个称为指针的内存地址。句柄是一个更一般的术语,它不需要保存内存地址,而是内核可以理解的任何整数值。所以一个句柄可以存储一个1234545,它不是内存地址,但内核使用这个数字来标识表中的文件。但句柄也可以存储内存地址,也可以用作指针。是吗?听起来不错。从技术上讲,句柄并不一定是整数;它可以是任何类型。有时库会返回一个指针用作句柄,但最好将其视为不透明值,并且永远不要取消引用它。 public virtual I


在考虑了你的答案之后。这对我来说意义重大。句柄是更一般的术语。请您验证一下:指针必须有一个称为指针的内存地址。句柄是一个更一般的术语,它不需要保存内存地址,而是内核可以理解的任何整数值。所以一个句柄可以存储一个1234545,它不是内存地址,但内核使用这个数字来标识表中的文件。但句柄也可以存储内存地址,也可以用作指针。是吗?听起来不错。从技术上讲,句柄并不一定是整数;它可以是任何类型。有时库会返回一个指针用作句柄,但最好将其视为不透明值,并且永远不要取消引用它。
public virtual IntPtr Handle { get; }
// Read a short line from a file and output it to the console
// 256 bytes max for simplicity purposes

char buffer[256];

// With handle
FILE* file = fopen ("file.txt" , "r");
fgets(buffer, 256 , file);
std::cout << buffer << std::endl;
fclose (file);

// With object reference
{
  std::ifstream stream ("file.txt");
  stream.getline(buffer, 256);
  std::cout << buffer << std::endl;
}