Соглашения в этом приложении

Отметим, что в данном приложении мы придерживаемся дополнительных соглашений при изображении кода. Код C# всегда выводится, как и в остальных частях книги, с серым затенением:

// это код C#

class MyClass : MyBaseClass { 

Если требуется выделить новый или важный код C#, он будет выводиться жирным шрифтом:

// это код C#

class MyClass : MyBaseClass // мы уже видели этот фрагмент

{

 int x; // это интересно

Код C++, представленный для сравнения, выглядит следующим образом:

// это код C++

class CMyClass : public CMyBaseClass {

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

Терминология

Необходимо знать, что несколько конструкций языка используют различную терминологию в C# и C ++. Переменные члены в C++ называются полями в C#, в то время как функции в C++ называются методами в C#. В C# термин функция имеет более общее значение и ссылается на любой член класса, который содержит код. Это означает, что функция охватывает методы, свойства, конструкторы, деструкторы, индексаторы и перезагруженные версии операторов. В C++ функция и метод часто используются взаимозаменяемо, хотя, строго говоря, в C++ метод является виртуальной функцией-членом.

Если все это звучит путано, то следующая таблица должна в этом помочь разобраться:

Значение Термин C++ Термин C#
Переменная, которая является членом класса Переменная-член Поле
Любой элемент в классе, который содержит инструкции Функция (или функция-член) Функция
Элемент класса, который содержит инструкции и вызывается по имени с помощью синтаксиса DoSomething(/* параметры */) Функция (или функция-член) Метод
Виртуальная функция, которая определена как член класса Метод Виртуальный метод

Необходимо также знать о паре других различных терминов:

Термин C++ Термин C#
Составной оператор Блочный оператор
lvalue Переменное выражение

В этом приложении будет по возможности использоваться терминология, соответствующая рассматриваемому языку.

Сравнение C# и C++

В этом разделе мы кратко рассмотрим общие различия и сходства между двумя языками.

Различия

Основные области, в которых C# отливается от C++, представлены ниже:

□ Использование компиляции. Код C++ обычно компилируется в язык ассемблера. C#, наоборот, компилируется в промежуточный язык (IL, intermediate language), который имеет некоторые сходства с байт-кодом Java. IL потоп преобразуется в собственный исполнимый код процессом оперативной компиляции (JIT) Создаваемый код IL хранится в файле или множестве файлов, называемом сборкой. Сборка по сути формирует единицу, в которой упакован код IL. Эта единица соответствует DLL или исполнимому файлу, создаваемому компилятором C++.

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату