Na escola, começamos a aprender C este ano, apesar do fato de estar muito adiantado na aula, e aprendi Java, C ++ e C enquanto a turma está na base de C. De qualquer forma, tenho me documentado, lido livros, artigos, e perguntei à minha professora por que eu deveria aprender C, e ela disse que era a base do C ++. Quando iniciei a programação, achei o C ++ muito mais fácil, mais tarde aprendi C. Mas nos livros você pode ver que o código C funciona em C ++, mas não é vice-versa.
Minha pergunta é bem direta ~ É um bom hábito usar expressões C em C ++? Deixe-me lhe dar um exemplo:
Este código deve
#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;
}
Seja mais eficiente ou melhor do que isso:
#include <iostream>
int main() {
int x;
cin >> x;
cout << "The number you entered is " << x << "And it's double is " << x*x;
return 0;
}
Eu já fiz uma documentação fácil sobre isso em alguns livros antigos e empoeirados, e pelo que pude encontrar, usar scanf em vez de cout também libera o fluxo ou algo assim, então estou basicamente perguntando se é melhor usar scanf e quais contextos.
Isso também se aplica ao arquivo IO, pois sempre achei o FI IO mais fácil em C do que em C ++. Esta pergunta vale para praticamente todas as expressões gerais em C aplicadas ao C ++. Também é notável que estou usando um compilador moderno e, no entanto, isso não deve importar, pois estou perguntando se é um bom hábito de programação usar expressões C no código C ++.
Provavelmente existem contras e vantagens em fazer isso, mas só estou procurando um tipo de resposta sim / por que não / por que.
Além disso, se houver algum detalhe que eu deixei de fora, poste um comentário.
stdio
eiostream
. Há uma certa ordem e sincronização garantida dentro de uma família que não se aplica necessariamente fora dela.