¿Cuáles son las diferencias entre std :: variant y boost :: variant?

En unresponder a

¿Cuál es el equivalente de la variante boost :: en la biblioteca estándar de C ++?

se menciona queboost::variant ystd::variant difieren un poco.

¿Cuáles son las diferencias, en lo que respecta a alguien que usa estas clases?¿Qué motivación expresó el comité para adoptar?std::variant con estas diferencias?¿Qué debo tener en cuenta al codificar con cualquiera de estos, para mantener la máxima compatibilidad con el cambio al otro?

(la motivación es usarboost::variant en el código anterior a C ++ 17)

Respuestas a la pregunta(2)

Su respuesta a la pregunta