Мне было интересно, возможно ли реализовать единственный (и возможный двойной) связанный список, используя std::experimental::optional
.
template <typename T>
struct node {
std::experimental::optional<node<T>> next;
T data;
};
Каковы преимущества/недостатки такого дизайна? Могут ли новые функции c++1z
использоваться для реализации стражей или избавления от них alltogether? Будет ли это увеличение до n-арных деревьев?