[Oferta] algoritmo para demostrar problema de seguridad 05. reemplazar el espacio (C ++)

Por favor implementar una función, reemplazar cada espacio de la cadena s de "20%".

[ Ejemplo 1 ]

Entrada: s = "Estamos felices. "
Output: "Hemos% 20are% 20happy. "

[ Límite ]

Longitud 0 <= s de <= 10,000

 

[Las ideas de resolución de problemas]

Solución clase {
público:
  replaceSpace string (cadena s) {
    cadena s2;
      para (auto c: s) {
      if (! s [i] =' ')
        s2 + = s [i];
      otro
        s2 + = "% 20";
    }
    Devolver s2;
  }
};

[ Nota]

1. C ++ el problema individual y dobles comillas.

Es un carácter de comilla simple, cadena entre comillas dobles es
un solo carácter entre comillas representan en realidad un entero.
Cadena encerrada entre comillas dobles, es representante de un puntero a un array de caracteres de partida desconocida. La matriz es el carácter de comillas dobles entre los personajes y un cero binario adicional '\ 0' inicialización.

la diferencia entre "a" y 'a', la primera es una cadena que es un personaje.
De hecho "a" es "un \ 0", el '\ 0' final. La 'a' esto solo representa un personaje.
La cadena puede ser "ABCDE" una combinación de tales representan varios personajes, pero 'ABCDE' esto está mal! ! !

En resumen, por lo general una sola cadena de caracteres se combina con los personajes, la pluralidad de caracteres ~

2. Acerca de (auto c: s) la redacción.

C11 estándar de formato especial se puede realizar en un bucle, excepto que el tipo de referencia puede ser cambiado al valor original

-------------------------------------------------- ------------
Auto: se utiliza para declarar una variable automática. Es un identificador de tipo de almacenamiento, que la variable (auto) que tiene un ámbito local, rango de bloque de declaración de variable (por ejemplo, para la declaración de variables cuerpo del bucle) es tipo de almacenamiento predeterminado de automóviles. De hecho, las variables más comunes declaración declarativa son variables auto, que no es necesario especificar explícitamente la palabra clave auto, el valor predeterminado es el automático. variables auto están fuera del alcance convertido automáticamente liberado, el desbordamiento de la memoria (excepto clase contiene un puntero) no se produce. La ventaja de utilizar variables auto no es necesario tener en cuenta si ir variables se libera, relativamente seguro.
nueva: nueva palabra clave se utiliza en la dirección de memoria dinámica de aplicaciones, produjo la variable no se dispara automáticamente, a menos que la liberación de borrar manualmente, o terminar el programa cuando es liberado por el sistema operativo, las ventajas de utilizar la nueva utilización de la memoria es más flexible, teoría puede aplicar para cualquier bloque de memoria tamaño cuando (el sistema operativo real dependiente), pero que es propenso a problemas, accidentalmente olvidar para liberar el objeto, el objeto es especialmente frecuente en la llamada función creada olvidar para liberar, producirá desbordamiento de la memoria , lo que lleva a un error del programa serio, caída del sistema. nueva se utiliza generalmente en una definición de clase, la combinación puede eliminar clase contiene nuevos objetos a cabo también viene con la función de la variable, por lo tanto heredado las ventajas de los dos enfoques.
-------------------------------------------------- ------------
además, la última teclas de función de actualización automática estándar, además del significado original de C ++, pero también añade un lenguaje de alto nivel similar al de otro tipo no utilizan automóviles para Deducir propiedades en lugar de un tipo de variable, la premisa es inicializado inicializado explícitamente tipo de variable, puede utilizar la palabra clave de auto como int i = 10; automática a = i; // este es un tipo int en el uso de algunos de esta clase de plantilla, por reducir verbosa código también es útil
-------------------------------------------------- -------------
otra digresión: auto tipo correspondiente en lugar de utilizar la nueva de las variables, ni variable estática
variable estática es el final del programa cuando se libera el objeto, pero no requiere manual de liberar.
Cuando estática si se declara en una función, cada vez que entró en esta función, o el uso de la variable se declara en primer lugar, y también el valor de la última utilizada salvó.
Si utiliza variables estáticas y estructura de clases, que la estructura o la totalidad definición de clase de objeto, vamos a compartir unas variables estáticas únicas.
Cuando la variable de auto que se libera al final de la función, y esta función se llama de nuevo, y redefine una nueva variable

 

Supongo que te gusta

Origin www.cnblogs.com/ziziQ/p/12509732.html
Recomendado
Clasificación