Cuando hago esto: count = ++ count; ¿Por qué recibo la advertencia? ¿La asignación al conteo de variables no tiene ningún efecto? Esto significa que el conteo se incrementa y luego se asigna a sí mismo o a algo más? ¿Es lo mismo que solo contar ++? Lo que sucede en count = count ++; ? ¿Por qué no recibo una advertencia por esto?La asignación a la variable no tiene ningún efecto?
Respuesta
count++
y ++count
son las siglas de count=count+1
. La tarea está incorporada, por lo que no tiene sentido volver a asignarla. La diferencia entre count++
(también sabe como postfix) y ++count
(también conocido como prefijo) es que ++count
ocurrirá antes que el resto de la línea, y count++
ocurrirá después que el resto de la línea.
Si se va a desmontar count=count++
, que terminaría con esto:
count = count;
count = count+1;
Ahora usted puede ver por qué Postfix no le dará una advertencia: algo realmente está siendo cambiado al final.
Si se toma aparte count=++count
, que terminaría con esto:
count = count+1;
count = count;
Como se puede ver, la segunda línea de código es inútil, y es por eso que el compilador está advirtiendo.
partir la declaración hasta que son básicamente escribiendo:
++count;
count = count;
como se puede ver count = count no hace nada, de ahí la advertencia.
el operador ++ es un atajo para el siguiente count = count + 1
. Si rompemos su línea count = ++count
responde a count = count+1 = count
Para expandir un poco, count ++ es postfix. Se lleva a cabo después de otras operaciones por lo que si usted hizo algo así como
int a = 0, b = 0;
a = b++;
sería un 0, b sería 1. Sin embargo, es ++ recuento prefijo si lo hizo
int a = 0, b = 0;
a = ++b;
entonces a y b ambos serían 1. Si usted acaba de hacer
count++;
o
++count;
, entonces no importa, pero si lo está combinando con otra cosa, será
- 1. Configuración de cell.ReadOnly no tiene ningún efecto
- 2. ¿Cerrar un ByteArrayOutputStream no tiene ningún efecto?
- 3. VIM textwidth no tiene ningún efecto
- 4. Establecer NSFileCreationDate no tiene ningún efecto
- 5. NSAttributedString kCTParagraphStyleSpecifierParagraphSpacing no tiene ningún efecto
- 6. rieles i18n: cambiar de.errors.format: "% {atributo}% {mensaje}" no tiene ningún efecto
- 7. ¿Por qué la propiedad '#weight' a veces no tiene ningún efecto en los formularios de Drupal?
- 8. ¿Por qué el .htaccess no tiene ningún efecto?
- 9. setStorageEncryption no produce ningún efecto
- 10. Agregar luz a la escena no tiene efecto
- 11. El operando de la izquierda de la coma no tiene ningún efecto?
- 12. HttpURLConnection setConnectTimeout() no tiene efecto
- 13. En PuTTY, la combinación de teclas de Emacs no tiene ningún efecto
- 14. La configuración de bondad de proceso (prioridad) no tiene ningún efecto en Linux
- 15. valor en un archivo diferente tiene ningún efecto
- 16. setPropertiesToFetch no parece tener ningún efecto
- 17. PHP setlocale no tiene efecto
- 18. UpdatePanel.Visible = true no tiene efecto
- 19. ASP.NET MVC - Model.OrderBy La fecha no tiene efecto
- 20. NSApplication endSheet: no tiene efecto
- 21. setImageBitmap no tiene efecto visible
- 22. ListView/ExpandableListView setEmptyView() no tiene efecto
- 23. android ImageView setPadding no tiene efecto
- 24. Asignar a la variable de la función madre: "La variable local referenciado antes de la asignación"
- 25. programación del estilo de fondo QWidget/QScrollArea transparente no tiene ningún efecto
- 26. EXTJS Problema de tienda con valores nulos - useNull: no tiene ningún efecto - ¿Ayuda?
- 27. UILabel textRectForBounds no tiene ningún efecto al intentar crear el margen
- 28. ThreeJS camera.lookAt() no tiene ningún efecto, ¿hay algo que estoy haciendo mal?
- 29. La variable global parece no ocupar ningún espacio de memoria
- 30. Citando vs no citando a la variable en el RHS de asignación de variable
Dije corto, no idéntico a. – LastStar007
Derecha - su respuesta fue más breve cuando hice ese comentario (en referencia al valor devuelto por la expresión). Resultó una gran explicación aquí +1 –
¿por qué no lo hace a través de una advertencia para la primera línea en el ejemplo count = count ++? porque eso no está haciendo nada. – Thomas