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

Поясните разницу - C++

Восстановить пароль Регистрация
 
Sasha
 Аватар для Sasha
4831 / 2305 / 218
Регистрация: 05.06.2008
Сообщений: 7,231
Записей в блоге: 3
25.12.2009, 13:13     Поясните разницу #1
Добрый день уважаемые товарищи программисты.
Читаю книгу по С++ в надежде изучить его на начальных этапах и нашёл пункт, где описываются операторы инкрименирования. Из этого пункта я узнал, что бывают постинкрементные и прединкрементные операторы.

C++
1
2
3
int x =10;
x++;
++x;
Так вот к чему я веду, объясните разницу между 10+1 и 1+10, ведь оно одно и тоже не ужели есть какая-то между ними разница может можно обойтись и одним оператором? Или я чего-то не понимаю.

Подскажите в чём между ними разница
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.12.2009, 13:13     Поясните разницу
Посмотрите здесь:

Поясните алгоритм! C++
поясните действия C++
C++ Поясните новичку!
C++ Поясните задачу
Поясните, пожалуйста. C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
25.12.2009, 14:11     Поясните разницу #2
C++
1
2
3
4
5
int x = 10;
int y = x++; // здесь y станет равен x ДО того, как x станет равен 11
//...
int x = 10;
int y = ++x; // здесь y станет равен x ПОСЛЕ того, как x станет равен 11
Sasha
 Аватар для Sasha
4831 / 2305 / 218
Регистрация: 05.06.2008
Сообщений: 7,231
Записей в блоге: 3
25.12.2009, 15:12  [ТС]     Поясните разницу #3
Чтобы не плодить новую тему хочу задать вопрос по одному примеру который я ввёл для просмотра из книги

C++
1
 
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
[FONT=monospace]//--------------------------------------------------------------------------- 
#include <vcl.h> 
#include <iostream.h>
#include <conio.h>
#pragma hdrstop 
int multiply(int,int) 
void showResult(int) //--------------------------------------------------------------------------- 
#pragma argsused 
int main(int argc, char* argv[]) 
{ int x,y,result; 
  cout << endl << "Enter the first value: "; 
  cin >> x; cout << endl << "Enter the first value: "; 
  cin >> y; 
  result = multiply(x,y); 
  showResult(result); 
  cout << endl << endl << "Press any key to continue..."; 
  getch(); 
  return 0; 
} 
 int multiply (int x, int y) 
{ 
  return x*y; 
} 
void showResult(int res) 
{ 
 cout << "The result is: " << result << endl; 
 
 //--------------------------------------------------------------------------- [/FONT]
[FONT=monospace]}
[/FONT]


Почему-то компилятор выдаёт ошибку Declaration syntax error в этой строке в начале, где объявляю функцию void showResult(int)
Что не так?
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
25.12.2009, 16:03     Поясните разницу #4
Цитата Сообщение от Sasha Посмотреть сообщение
Почему-то компилятор выдаёт ошибку Declaration syntax error
Цитата Сообщение от Sasha Посмотреть сообщение
int multiply(int,int)
void showResult(int)
Точку с запятой пропустил. Вот так надо:
C++
1
2
int multiply(int,int);
void showResult(int);
Sasha
 Аватар для Sasha
4831 / 2305 / 218
Регистрация: 05.06.2008
Сообщений: 7,231
Записей в блоге: 3
25.12.2009, 16:28  [ТС]     Поясните разницу #5
Cпасибо, странно в книге без точки с запятой наверно опечатка там
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
25.12.2009, 16:33     Поясните разницу #6
Цитата Сообщение от Sasha Посмотреть сообщение
Cпасибо, странно в книге без точки с запятой наверно опечатка там
Бывает... В общем случае если функция только объявляется, а определяется потом, то точка с запятой нужна:
C
1
2
3
4
5
6
7
8
9
10
int mul(int, int);
...
int main(){
...
}
/*тут уже без ; */
int mul(int a, int b){
    return a * b;
}
...
Yandex
Объявления
25.12.2009, 16:33     Поясните разницу
Ответ Создать тему
Опции темы

Текущее время: 21:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru