Mi chiedevo l'ultimo costruttore per std::string
menzionato here. Dice:I puntatori sono tipi primitivi in C++?
template<class InputIterator> string (InputIterator begin, InputIterator end);
Se InputIterator
è un tipo integrale, si comporta come la versione del costruttore sesta (quello proprio sopra questo) di fusione di caratteri iniziare e terminare chiamarlo:
string(static_cast<size_t>(begin),static_cast<char>(end));
In ogni altro caso , i parametri sono presi come iteratori e il contenuto viene inizializzato con i valori degli elementi che vanno dall'elemento riferito dall'iteratore all'elemento immediatamente precedente a quello riferito dall'iter iteratore.
Quindi cosa significa se InputIterator
è un char *
?
MODIFICA: Ok, mio male. Ho appena realizzato che si dice tipo integrale, non di tipo primitivo nella documentazione, quindi la domanda non si applica a quell'esempio. Ma ancora, sono puntatori primitivi?
Inoltre, sia gli interi che i puntatori sono "tipi scalari". – fredoverflow