Me preguntaba sobre el último constructor para std::string
mencionado here. Dice:¿Los punteros son tipos primitivos en C++?
template<class InputIterator> string (InputIterator begin, InputIterator end);
Si InputIterator
es un tipo entero, se comporta como la versión constructor sexto (el más adecuado por encima de este) por encasillamiento comenzar y terminar a llamarlo:
string(static_cast<size_t>(begin),static_cast<char>(end));
En cualquier otro caso , los parámetros se toman como iteradores, y el contenido se inicializa con los valores de los elementos que van desde el elemento al que hace referencia el iterador hasta el elemento justo antes del referido por el extremo del iterador.
¿Qué significa eso si InputIterator
es char *
?
EDITAR: Bien, mi mal. Me acabo de dar cuenta de que dice tipo integral, no tipo primitivo en la documentación, por lo que la pregunta no se aplica a ese ejemplo. Pero aún así, ¿los punteros son primitivos?
Además, tanto los enteros como los punteros son "tipos escalares". – fredoverflow