Что означает (void *) 1?

Я читаю код ROS .

В файле ros_comm/roscpp/include/ros/subscriber.h я вижу такой фрагмент кода:

operator void*() const { return (impl_ && impl_->isValid()) ? (void*)1 : (void*)0; }

Ну, (void *)0 можно рассматривать как NULL в C, но что означает (void *)1?

Если класс Foo содержит эту функцию, это означает, что мы можем кодировать так:

Foo foo;
void *ptr = foo;

Верно? Значит ли это, что void *ptr = (void *)1 возможно? Что это значит?

44
задан Peter Mortensen 16 July 2019 в 22:10
поделиться