Qual é a diferença entre constexpr estático e variáveis inline estáticas no C ++ 17?
Com o C ++ 17, obtemos variáveis embutidas.
Um dos usos para eles é definir campos constantes nas classes.
Então, qual é a diferença entre essas duas definições constantes:
class MyClass {
static constexpr int myFirstVar = 10;
static const inline int mySecondVar = 100;
};
Claroconstexpr
fazmyFirstVar
implicitamente inline.
Qual é a melhor escolha aqui, usarconstexpr
ouinline
?
Nota: quando você não precisa de constância, entãoinline
torna mais fácil. Comconstexpr
você não tem essa escolha.