Necesito una forma de crear una cadena de n caracteres. En este caso ascii valor cero.Plantilla estándar Clase de cadena: string.fill()
sé que puedo hacerlo llamando al constructor:
cadena sTemp (125000, 'a');
pero me gustaría reutilizar sTemp en muchos lugares y llenarlo con diferentes longitudes.
Llamo a una biblioteca que toma un puntero de cadena y una longitud como argumento y rellena la cadena con bytes. (Sé que técnicamente la cadena no es contigua, pero para todos los efectos es, y muy pronto se convertirá en el estándar). NO quiero usar un vector.
¿hay alguna forma ingeniosa de llamar al constructor una vez que se haya creado la cadena?
de votación ¿Por abajo? Por favor, deje al menos un comentario con el motivo. ¡Solo así se puede aprender! – phlipsy
No he votado negativamente, pero no quiero otro #include si es posible –
Como ha notado, el relleno no es bueno porque no permite cambiar el tamaño de la cadena. redimensionar usa el carácter inicial solo para inicializar nuevos caracteres en la cadena (después del redimensionamiento). Thous string original permanece sin modificaciones. Esos no son consistentes con el efecto deseado de "llamar al constructor de nuevo". La función correcta es asignar. –