Ho bisogno di un modo per creare una stringa di n caratteri. In questo caso ascii valore zero.Classe stringa: string.fill()
so che posso farlo chiamando il costruttore:
stringa sTemp (125000, 'a');
ma mi piacerebbe riutilizzare sTemp in molti posti e riempirlo con diverse lunghezze.
Sto chiamando una libreria che accetta un puntatore di stringa e una lunghezza come argomento e riempie la stringa con byte. (So che tecnicamente la stringa non è contigua, ma a tutti gli effetti è, e presto diventerà lo standard). NON voglio usare un vettore.
c'è qualche modo intelligente per chiamare di nuovo il costruttore dopo che la stringa è stata creata?
voto Perché verso il basso? Si prega di lasciare almeno un commento con il motivo. Solo così si può imparare! – phlipsy
Non ho fatto downvote, ma non voglio altro #include se possibile –
Come hai notato, il riempimento non è buono perché non consente di cambiare la dimensione della stringa. ridimensiona usa il carattere iniziale solo per inizializzare nuovi caratteri nella stringa (dopo il ridimensionamento). Quella stringa originale rimane non modificata. Quelli non sono coerenti con l'effetto desiderato di "chiamare di nuovo il costruttore". La funzione corretta è assegnata. –