За время использования C++ выработал для себя что то вроде общего мнемонического правила:
Под переменные и ссылки не может быть выделена память в куче.
Но вот с чем пришлось столкнуться:
using intPointer = int*;
// Под константную ссылку выделяется память в стеке
int *const & constLink = intPointer(nullptr);
Но
// Под константную ссылку выделяется память в куче???
int *const & constLink = new int();