Namespaces
Variants

std::initializer_list<T>::empty

De es.cppreference.net
 
 
Biblioteca de utilidades
Soporte del lenguaje
Soporte de tipos (tipos básicos, RTTI)
Macros de prueba de características de la biblioteca (C++20)
Utilidades de programa
Funciones variádicas
Soporte de corrutinas (C++20)
Soporte de contratos (C++26)
Comparación de tres vías
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Utilidades generales
Operadores relacionales (obsoleto en C++20)
 
 
bool empty() const noexcept;
(desde C++11)
(constexpr desde C++14)

Comprueba si la initializer_list está vacía. Equivalente a return size() == 0;.

Valor de retorno

true si la initializer_list está vacía, false en caso contrario.

Complejidad

Constante

Notas

A partir del 2026-05-27, libstdc++ no ha tratado la adición de la función empty de P3016R6 como un informe de defecto contra C++11, y solo agrega empty desde C++26.

Ejemplo

#include <initializer_list>
#include <iostream>

constexpr std::initializer_list<int> il1{};
constexpr std::initializer_list<int> il2{3, 1, 4, 1, 5, 9};

int main()
{
    static_assert(il1.empty(), "");
    static_assert(!il2.empty(), "");

    std::cout << std::boolalpha
        << il1.empty() << '\n'
        << il2.empty() << '\n';
}

Salida:

true
false

Informes de defectos

Los siguientes informes de defectos que cambian el comportamiento se aplicaron retroactivamente a estándares C++ previamente publicados.

DR Aplicado a Comportamiento según lo publicado Comportamiento correcto
P3016R6 C++11 std::initializer_list carecía de la función empty añadida

Véase también

(C++11)
devuelve el número de elementos en la lista de inicialización
(función miembro pública)