Можно ли считать константный указатель аналогом ссылки в С++?
Нет, но разница более существенная, чем возможность присвоить nullptr. Константной ссылкой можно удлинить время жизни временного объекта, а указателем -- никаким нельзя.
Например так можно:T f();
...
const T& obj = f();
obj.foo();
-- объект вернувшийся из функции f не будет разрушен до выхода obj из области видимости.
А так -- нельзя:T f();
...
const T* const obj = &(f());
obj->foo();
-- этот код даже не скомпилируется, поскольку тут берётся адрес временного объекта.
Нет. В указатель можно засунуть nullptr, а в ссылку - нет.