语言设计者是否有理由不使指针类型更强,以便编译器可以区分 GPU 指针和 CPU 指针并消除混合两者的可笑常见错误?
是否需要一个指针同时引用 GPU 内存位置和 CPU 内存位置(这甚至可能)?
或者这只是语言设计中令人难以置信的明显疏忽?
[编辑]示例:C++/CLI 有两种不同类型的指针,不能混用。他们引入了单独的符号,以便编译器可以强制执行此要求:
int* a; //Normal pointer
int^ b; //Managed pointer
//pretend a is assigned here
b = a; //Compiler error!
有没有理由(除了懒惰/疏忽) CUDA 不做同样的事情?