 
 __global__ 
 void Kernel_by_value(DataElement elem) {
-  printf("On device:                  name=%s, value=%d\n", elem.name.c_str(), elem.value);
+  printf("On device by value:         name=%s, value=%d\n", elem.name.c_str(), elem.value);
 
   elem.name[0] = 'v';
   elem.value++;


__global__ 
void Kernel_by_pointer(DataElement *elem) {
  printf("On device:                  name=%s, value=%d\n", elem->name.c_str(), elem->value);

  elem->name[0] = 'p';
  elem->value++;


  printf("On host (after by-value):   name=%s, value=%d\n", e->name.c_str(), e->value);

  //delete e;

  cudaDeviceReset();
}
