Форум - Всё про C++
Вход Регистрация
1) Пахан (9 Марта 2012 в 19:04) [Ж]
В основе языка лежат следующие компоненты.
1. Небольшой набор типов данных: логические, символьные, целочисленные и числа с плавающей запятой.
2. Набор арифметических операторов, операторов отношения и логических операторов для работы с этими типами. Сюда входят не только обычные операторы, такие как сложение, равенство, "меньше, чем" и присваивание, но и менее распространенные операторы приращения, условий и составные операторы при­сваивания.
3. Набор таких операторов ветвлений и циклов, как операторы if и while, которые позволяют координировать выполнение программы.
4. Несколько таких составных типов, как указатель и массив. Они позволяют, соответственно, косвенно обращаться к существующим объектам и определять набор элементов одного типа.
2) Пахан (9 Марта 2012 в 19:04) [Ж]
Если из файла нужно считывать данные и записывать их в этот же файл, используется объект класса fstream. Чтобы открыть файл в режиме дозаписи, объекту нужно передать еще одно значение в следующей форме. ios_base: :injios_base: :арр:2
fstream iofileC "seq_data.txt",
ios_base::inIios_base::арр );
if ( ! iofile )
// по какой-то причине открыть файл не удалось
else {
// переходим в начало файла, чтобы начать чтение iofile.seekgC 0 );
// все ок: остальная часть программы - та же...
Когда файл открывают в режиме дозаписи, текущая позиция устанавливается в конец файла. Если попытаться считать из файла, не переместившись, то будет просто получен признак конца файла. Операция seekgO смещает текущую позицию в файле iofile в начало. Поскольку файл открыт в режиме дозаписи, операция записи добавляет данные в конец файла.
3) Пахан (9 Марта 2012 в 19:05) [Ж]
Конструкция #define func(args) ... не определяет функцию (как многие полагают), а только правило макроподстановки. То есть код:
#define sqr(x) x*x
int y = 5;
int z = sqr(y+1);
не будет вычислять квадрат шести и класть его в z, вместо этого после отработки препроцессора последняя строчка превратится в:
int z = y+1*y+1;
Это всё что сделает макрос sqr. Т.е. в z окажется 11, а никак не 36.
Следует также отметить, что директива #include ... не делает ничего магического - всего лишь вставляет вместо себя текст указанного файла. Т.е. включать можно файлы любого типа, главное - чтобы результат их включения удовлетворял правилам языка.
»Смайлы
»Правила
»Скачать тему в txt
«C/C++
«Программирование
«Форум