    ANSI С и C++ в основном используют один и тот же синтаксис, операторы, 
выражения, встроенные типы данных, структуры, массивы, объединения, циклы, 
функции и указатели. 
    C++ имеет несколько дополнительных ключевых слов, приведенных в табл. 12.1 
вместе со словами (отмечены звездочкой), характерными для C++. В C++ также 
имеется несколько новых операторов, которые будут приведены позже. 

    Таблица 12.1. Ключевые слова ANSI С и C++ 

    asm 		default  	friend* 	protected* 	switch 	 void
    auto 		delete* 	goto 	public*  		template 	volatile 
    break		do  	if  	register	    	this* 	 while    
    case		double	inline*	return		throw* 
    catch* 		else 	int 	short 		try*  
    char 		enum 	long	signed 		typedef 	
    class*		extern	new*	sizeof		union 
    const		float	operator*	static		unsigned
    continue	for	private*	struct		virtual* 


    *Только для C++ 

    C++ требует, чтобы прототипы всех функций были определены до их вызова.  В 
ANSI С определение прототипов желательно, но не обязательно. 

    В C++ осуществляется более строгая проверка типов в выражениях.  В целом 
значения в выражениях должны быть либо одинакового типа, либо легко 
преобразовываться в соответствующий тип. Там, где ANSI  С выдает предупреждение 
о несоответствии типов,   C++ выдаст ошибку  компиляции.   Конечно, правила проверки 
типов ANSI С и C++ более близки, чем классического С и C++. 

    В C++ сильно ослаблена потребность в typedef-объявлениях. Вы можете 
объявить структуру типа 

    struct mystruct { 
    } ;

и затем объявлять переменные как mystruct x;. Чтобы проделать нечто 
подобное в ANSI С, вы должны написать struct mystruct x; или использовать 
typedef для структуры mystruct. 

    В C++ тип char — это байт из 8 бит. В ANSI С размер этого типа не 
определен, хотя в Borland C++ он всегда длиной 8 бит. 

    В ANSI С символьные константы имеют тип int, и выражение sizeof('X') 
эквивалентно sizeof(int). В C++ символьные константы имеют тип char, и 
выражение sizeof('X') соответствует sizeof(char). 

    ЗАМЕЧАНИЕ 

    Приведенный список не является полным сравнением ANSI C и:C'++. Прочие 
отличия отличия будут приседены в соответствующих разделах. 
    

    Комментарии C++ 

    C++ дополнил комментарии ANSI С новым стилем, воскрешенным из BCPL — 
предшественника классического С. В программах C++ двойная косая начинает 
комментарий. Компилятор игнорирует все символы после / / до конца строки. В 
ANSI С комментарий 

    /* Это комментарий */ 

также может быть написан на C++ как 

    // Это комментарий 

    Комментарий ANSI С, который можно использовать и в программах на C++, 
требует двух символов: /*, чтобы начать комментарий, и */, чтобы закончить 
его. Комментарий ANSI С может продолжаться на двух и более строках, а 
комментарий C++ занимает только одну строку. Любой из них может продолжаться 
до конца строки. В ANSI С вы можете добавить комментарий к оператору следующим 
образом: 

    count++; /* Увеличить count на единицу */	.      . . 


    280     Часть III. Программирование на ANSI C++ 
