Если «данные» являются конструируемыми и назначаемыми по умолчанию, то вы можете создать узлы с построенными по умолчанию данными и назначить их позже.
Если тип этого не позволяет или это проблематично по другим причинам c, тогда другой подход заключается в использовании std::optional<data_type>
в качестве данных.
Это относится ко всем структурам данных.
Обратите внимание, что, хотя это возможно, сначала нужно создать узлы и назначить данные позже, как правило, не полезно. Более простой и типичный подход заключается в создании узлов при заполнении списка.