"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo inicializar miembros de datos estáticos `const std::string` en C++?

¿Cómo inicializar miembros de datos estáticos `const std::string` en C++?

Publicado el 2024-12-21
Navegar:633

How to Initialize Static `const std::string` Data Members in C  ?

Declaración de miembros de datos estáticos de tipo const std::string

En C, inicializar un miembro de datos estáticos de tipo const std::string directamente dentro de la definición de clase es no permitido. En su lugar, hay dos opciones para definir dichos miembros de datos:

Variables en línea (C 17 o posterior)

Utilice una variable en línea, que define e inicializa el miembro estático dentro de la definición de clase:

class A {
private:
  inline static const string RECTANGLE = "rectangle";
};

Definición externa

Defina el miembro estático fuera de la definición de clase y proporcione el inicializador en un archivo de implementación separado:

Archivo de encabezado

class A {
private:
  static const string RECTANGLE;
};

Archivo de implementación

const string A::RECTANGLE = "rectangle";

Limitaciones de la inicialización en clase

La sintaxis de inicialización de miembros de datos estáticos dentro de la definición de clase solo se admite para tipos integrales y enumerativos. Para tipos no integrales como const std::string, este enfoque no es válido.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3