对于“cl_mem”或“cl_context”等各种类型的底层类型,我有点困惑。通过 opencl header ,它们似乎实际上是 struct 实例指针,这将使它们可以安全地复制,但据我所知,它们都没有任何成员可访问。或 -> 运算符。
从本质上讲,当将它们传递给函数参数或将它们插入 vector 等时,复制它们是否安全?
最佳答案
正如你所说,它们在内部是指针。因此,它们可以作为函数参数自由传递或保存在 vector 中。
您不应该使用它们直接访问任何成员,因为实现可以随时自由更改。
我将指导您使用 cl.hpp
和 cl2.hpp
header ,它们很好地包装了 C 功能以供 C++ 使用。
关于c++ - 各种 OpenCL 样板类型是否可以安全复制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44079148/