Намерение утверждения: assert (! DistNodePt ==! IndexNodePt) - PullRequest
0 голосов
/ 04 августа 2020

Что это за намерение утверждения? По какой-то причине я не могу в этом разобраться.

// Instantiate pointers of two custom types
FloatNodeType      * distNodePt  =  distAcc.probe(origin);
Int32NodeType      * indexNodePt = indexAcc.probe(origin);

assert(!distNodePt == !indexNodePt); // What is this assertion trying to make sure?

1 Ответ

2 голосов
/ 04 августа 2020

assert(!distNodePt == !indexNodePt); // What is this assertion trying to make sure?

Это проверяет, что либо оба указателя указывают на допустимую память, либо оба указателя равны nullptr.

Обратите внимание, что ! необходимо, иначе вы бы сравнивали фактические адреса, что не одно и то же.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...