En la escuela comenzamos a aprender C este año, a pesar de que estoy muy por delante de la clase, y aprendí Java, C ++ y C mientras la clase está en la base de C. De todos modos, me he estado documentando, leyendo libros, artículos, y le pregunté a mi maestra por qué debería aprender C, y ella dijo que era la base de C ++. Cuando comencé a programar, encontré que C ++ era mucho más fácil, luego aprendí C. Pero en los libros se puede ver que el código C funciona en C ++, pero no va al revés.
Mi pregunta es bastante directa ~ ¿Es un buen hábito usar expresiones C en C ++? Dejame darte un ejemplo:
Debería este código
#include <stdio.h>
#include <iostream>
int main() {
int x;
scanf("%d", &x);
cout << "The number you entered is " << x << "And it's double is " << x*x;
return 0;
}
Sea más eficiente o mejor de alguna manera que esto:
#include <iostream>
int main() {
int x;
cin >> x;
cout << "The number you entered is " << x << "And it's double is " << x*x;
return 0;
}
Ya he hecho una documentación sencilla sobre esto en algunos libros viejos y polvorientos, y por lo que pude encontrar, usar scanf en lugar de cout también elimina el flujo o algo así, así que básicamente estoy preguntando si es mejor usar scanf y en que contextos
Esto también se aplica al archivo IO, ya que siempre he encontrado que File IO es más fácil en C que en C ++. Esta pregunta se aplica a casi todas las expresiones generales en C aplicadas a C ++. También es notable que estoy usando un compilador moderno y, sin embargo, esto no debería importar, ya que estoy preguntando si es un buen hábito de programación usar expresiones C en código C ++.
Probablemente hay inconvenientes y ventajas de hacer esto, pero solo estoy buscando un tipo de respuesta de sí / por qué, no / por qué.
Además, si hay algún detalle que he dejado fuera, publique un comentario.
stdio
yiostream
. Hay cierto orden y sincronización garantizados dentro de una familia que no necesariamente se aplican fuera de ella.