Программирование на C и C++

Онлайн справочник программиста на C и C++

Ввод/вывод С против С++

Для начала необходимо ответить на важный вопрос: поскольку С является основой С++, как соотносится система ввода/вывода С и система ввода/вывода С++?

С++ поддерживает весь набор функций ввода/вывода ANSI С. Следовательно, если переносить код С на С++, то не потребуется никаких изменений в процедурах ввода/вывода. С++ также определяет свою собственную объектно-ориентированную систему ввода/вывода, содержащую как функции, так и операторы, полностью дублирующие возможности системы ввода/вывода ANSI С. При создании кода С++ следует использовать систему ввода/вывода С++. Для кода С следует использовать стандартную систему ввода/вывода С, описываемую в данном разделе. Даже тем, кто пишет в основном программы на С++, все равно следует познакомиться с системой ввода/вывода ANSI С по трем причинам:

  • В течение нескольких лет С и С++ будут сосуществовать вместе. Многие программисты будут создавать гибриды программ на С и С++. Более того, будет наиболее типично программы на. С «модернизировать» до программ на С++. Следовательно, необходимо знание системы ввода/вывода как С, так и С++. Например, для замены функций ввода/выврда С на объектно-ориентированные функции С++, следует знать, как действуют обе системы ввода/вывода.
  • Понимание основных принципов, положенных в основу системы ввода/вывода ANSI С, поможет понять объектно-ориентированную систему ввода/вывода С++. (Они обе используют общие концепции.)
  • В некоторых ситуациях может быть легче использование необъектно-ориентированного подхода С к вводу/выводу, чем подхода, предлагаемого С++.

Дополнительно существует неписаное правило, что любой программист на С++ должен быть также программистом на С. Профессиональные горизонты того, кто не знает, как использовать систему ввода/вывода С, будут ограничены.