Как, используя тягу, лямбда-выражение внутри структуры/класса может захватывать члены структуры/класса?C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Гость
 Как, используя тягу, лямбда-выражение внутри структуры/класса может захватывать члены структуры/класса?

Сообщение Гость »


I'm using thrust to deal with GPU arrays. Here is a toy code to demonstrate the problem:

Код: Выделить всё

$ cat ss.cu #include  #include  #include  #include  struct A {   float p;   A(float p) : p(p) {}   template    __host__ __device__   void func(T& con) {     /// complie error     /*thrust::for_each(con.begin(),con.end(),                      [p]__host__ __device__(float& val)                      { val +=p; });*/     /// runtime error : illegal memory access     thrust::for_each(con.begin(),con.end(),                      [this]__host__ __device__(float& val)                      { val +=p; });          /// An ugly work around     /*float P = this->p;     thrust::for_each(con.begin(),con.end(),                      [P]__host__ __device__(float& val)                      { val +=P; });*/   } }; int main() {   thrust::device_vector dvec(100);   A a(10);   a.func(dvec);   thrust::copy(dvec.begin(),dvec.end(),                std::ostream_iterator(std::cout," "));   std::cout 

Источник: [url]https://stackoverflow.com/questions/78127707/using-thrust-how-can-a-lambda-expression-inside-a-struct-class-capture-the-memb[/url]
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Лямбда-выражение с лямбда-представителем не компилируется [дубликат]
    Anonymous » » в форуме C++
    0 Ответы
    108 Просмотры
    Последнее сообщение Anonymous
  • Как преобразовать это выражение Linq в лямбда-выражение (представляем онлайн-конвертер)
    Anonymous » » в форуме C#
    0 Ответы
    73 Просмотры
    Последнее сообщение Anonymous
  • C++: скопируйте контейнер STL в контейнер STL, используя лямбда-выражение
    Anonymous » » в форуме C++
    0 Ответы
    39 Просмотры
    Последнее сообщение Anonymous
  • C++: скопируйте контейнер STL в контейнер STL, используя лямбда-выражение
    Anonymous » » в форуме C++
    0 Ответы
    32 Просмотры
    Последнее сообщение Anonymous
  • Могут ли ссылочные члены класса иметь инициализаторы внутри класса?
    Anonymous » » в форуме C++
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C++»