Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
ramybozy
8 / 8 / 0
Регистрация: 01.07.2012
Сообщений: 138
#1

Странный код - C++

26.12.2012, 19:06. Просмотров 552. Ответов 19
Метки нет (Все метки)

Почему такой код верен

C++
1
2
3
4
5
6
7
time_t start, end;
start = time(NULL);
if (start == (time_t) - 1)
   {
      cout << "Time is unavailable" << endl;
      exit(EXIT_FAILURE);
}
Непонятно как из типа можно вычесть единицу.

Пример взят из книги Исскуство программирования на C, стр. 85.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.12.2012, 19:06
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Странный код (C++):

Странный вывод - проверьте код - C++
затестите код пжл, результат скиньте:) #include &lt;iostream&gt; using namespace std; void nn() {} void n() {} int main() { ...

Странный код в лабе (динам. масиивы) - C++
Разве там не должен быть выход за пределы выделенной области? class Action : public MyArr { int *ptrnew; //float *fptrnew; ...

Странный конструктор - C++
class Int { private: int intez; public: Int():intez(0){} Int(int...

Странный вывод - C++
Написал код. Не обращайте внимания, что он странный и не нужный, просто начали изучать классы) так вот, ввожу 2 числа они и должны...

Странный калькулятор - C++
Привет, помогите пожалуйста исправить калькулятор. Когда ставлю знаки &quot;-&quot; или &quot;+&quot;, выполняется умножение. #include &lt;iostream&gt; using...

Странный цикл for С++ - C++
Добрый день, ув. форумчане! Перехожу сейчас с Делфи на С++ и разбираюсь в сложнястях синтаксиса С++. Непонятно, что означает такая...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
0x10
2464 / 1636 / 238
Регистрация: 24.11.2012
Сообщений: 4,031
26.12.2012, 19:22 #2
Приведение -1 к типу time_t.
1
David Sylva
1286 / 948 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
26.12.2012, 19:23 #3
-1 приводится к типу time_t
1
ramybozy
8 / 8 / 0
Регистрация: 01.07.2012
Сообщений: 138
26.12.2012, 19:26  [ТС] #4
А,, вот оно в чем дело, то есть можно и так:
C++
1
static_cast<time_t>(-1);
0
taras atavin
Ушёл с форума.
3569 / 1753 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
26.12.2012, 19:28 #5
Цитата Сообщение от ramybozy Посмотреть сообщение
Непонятно как из типа можно вычесть единицу.
Не из типа вычесть единицу, а минус один привести к типу.
1
go
Эксперт C++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
26.12.2012, 19:34 #6
ramybozy, пробел лишний.
1
ramybozy
8 / 8 / 0
Регистрация: 01.07.2012
Сообщений: 138
26.12.2012, 19:37  [ТС] #7
Да понял уже. Это не у меня лишний, а так в книге напечатано, что вот и впал я в недоумение.
0
go
Эксперт C++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
26.12.2012, 19:44 #8
ramybozy, сами могли бы догадаться, что это проверка на ошибку.
0
ramybozy
8 / 8 / 0
Регистрация: 01.07.2012
Сообщений: 138
26.12.2012, 19:46  [ТС] #9
Ну и на старуху бывает проруха (не догадался вот).
0
0x10
26.12.2012, 19:49
  #10

Не по теме:

int n = 10;
while (n --> 0) { // пока n стремится к нулю xD

2
taras atavin
Ушёл с форума.
3569 / 1753 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
26.12.2012, 19:51 #11
А есть такой оператор?
0
go
Эксперт C++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
26.12.2012, 20:03 #12
Цитата Сообщение от taras atavin Посмотреть сообщение
А есть такой оператор?
Там два оператора
0
taras atavin
Ушёл с форума.
3569 / 1753 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
26.12.2012, 20:05 #13
А какой второй?
0
go
Эксперт C++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
26.12.2012, 20:11 #14
Цитата Сообщение от taras atavin Посмотреть сообщение
А какой второй?
А не видно разве? Первый это декремент, второй оператор сравнения.
0
taras atavin
Ушёл с форума.
3569 / 1753 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
26.12.2012, 20:17 #15
А я уж думал, что вычитание обращения к члену.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.12.2012, 20:17
Привет! Вот еще темы с ответами:

Странный sprintf - C++
Структура, ее получение и вывод: struct User { int unk1; int unk2; int UserType; int unk3; int unk4; int Id; int...

Странный суп - C++
Рецепт странного супа выглядит следующим образом: Возьмем четырехзначные десятичные натуральные числа и удалим из них простые числа....

Странный поиск - C++
как то странно работает функция find вот кусок кода: switch (count) { case 1: bblock=data.find(&quot;\&quot;&quot;,1); if...

Странный вывод - C++
#include &lt;iostream&gt; #include &quot;conio.h&quot; typedef const double* (*p_fun)(const double *, int); const double * f1(const double av, int n)...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
26.12.2012, 20:17
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru