verbos verbo uso tipos que ingles gerundios gerundio funcionan explicativo ejemplos correcto como adverbios adverbio adjetivo c++ c pointers initialization

c++ - verbo - uso correcto del gerundio



¿Cuál es la diferencia entre "hola" y{"hola"}? (4)

En C / C ++, ¿cuál es la diferencia entre los siguientes dos códigos de línea:

char *str1="hello"; char *str2={"hello"};


Estilo solo en este caso Ambos dan como resultado lo mismo, y ambos tienen mala forma. Deberías haber usado const char * str1="hello"; .


No hay diferencia entre una matriz y una "cadena", ya que una cadena es una matriz de caracteres.


Según el estándar C de 2011, cláusula 6.7.9 Inicialización, párrafo 11: "El inicializador para un escalar debe ser una expresión única, opcionalmente encerrado entre llaves ..."

Eso es. No hay diferencia semántica; las llaves simplemente pueden estar presentes o pueden estar ausentes, sin ningún cambio en el significado.


Ver https://.com/a/3462768/153225 .

Las llaves son redundantes.

La generación del ensamblador del siguiente código con "gcc -S" confirma que generan exactamente lo mismo (con una constante ligeramente diferente en cada caso):

#include <iostream> using namespace std; void test1() { const char *str1="hello1"; cout << str1 << endl; } void test2() { const char *str2={"hello2"}; cout << str2 << endl; } int main() { test1(); test2(); }