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

Определение функции - C++

Восстановить пароль Регистрация
 
Affteron
7 / 0 / 1
Регистрация: 14.09.2013
Сообщений: 19
15.12.2013, 01:32     Определение функции #1
Здравствуйте. Подскажите пожалуйста есть ли разница между этими двумя програмками:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include "stdafx.h"
#include <iostream>
 
using namespace std;
 
float max(float x, float у) 
{
    return (x > у) ? x : у;
}
 
int main()
{ 
    float a = 5.5, b = 3.2, c = 14.1, d;
    d = max(max(a, b), c); //1
    cout << "max=" << d << endl;
    system("pause");
    return 0;
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include "stdafx.h"
#include <iostream>
 
using namespace std;
 
float max(float x, float у); 
 
int main() 
{ 
    float a = 5.5, b = 3.2, c = 14.1, d;
    d = max(max(a, b), c); //1
    cout << "max=" << d << endl;
    system("pause");
    return 0;
}
 
float max(float x, float у) //определение функции 
{
    return (x > у) ? x : у;
}
И есть ли вообще разница в том, где происходит определение функции?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ASCII
 Аватар для ASCII
82 / 54 / 8
Регистрация: 15.12.2013
Сообщений: 370
Завершенные тесты: 2
15.12.2013, 01:37     Определение функции #2
в каком смысле разница?
Без объявления выше main у тебя функция не отработает, выдаст ошибку
принципиальной разницы нет.
Affteron
7 / 0 / 1
Регистрация: 14.09.2013
Сообщений: 19
15.12.2013, 02:08  [ТС]     Определение функции #3
Это я понял) Вопрос в том, зачем определять функцию после main, если сразу можно объявить и определить функцию. Есть ли в этом смысл?
ASCII
 Аватар для ASCII
82 / 54 / 8
Регистрация: 15.12.2013
Сообщений: 370
Завершенные тесты: 2
15.12.2013, 02:12     Определение функции #4
Цитата Сообщение от Affteron Посмотреть сообщение
Это я понял) Вопрос в том, зачем определять функцию после main, если сразу можно объявить и определить функцию. Есть ли в этом смысл?
Дело в удобстве, разницы нет, ибо компилятор читает программу сразу целиком, все дальнейшее за ним...
xtorne21st
интересующийся
300 / 271 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
15.12.2013, 02:14     Определение функции #5
Цитата Сообщение от Affteron Посмотреть сообщение
И есть ли вообще разница в том, где происходит определение функции?
Разница есть и большая. При разработке больших приложений, исходный код должен быть хорошо структуризирован и разбит на отдельные модули. Это приведёт к понимаю самой модели программы, быстро компиляции и т.д. Теоретически и к сожалению практически, можно написать миллион строк main... Но вы сами понимаете чем это чревато
ASCII
 Аватар для ASCII
82 / 54 / 8
Регистрация: 15.12.2013
Сообщений: 370
Завершенные тесты: 2
15.12.2013, 02:17     Определение функции #6
Цитата Сообщение от xtorne21st Посмотреть сообщение
Разница есть и большая. При разработке больших приложений, исходный код должен быть хорошо структуризирован и разбит на отдельные модули. Это приведёт к понимаю самой модели программы, быстро компиляции и т.д. Теоретически и к сожалению практически, можно написать миллион строк main... Но вы сами понимаете чем это чревато
я это и сказал), что дело лишь в удобстве, человек спрашивал, есть ли разница в самом коде, мол как лучше будет работать если сказать по простому), дело в читаемости, что я и сказал =)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.12.2013, 02:33     Определение функции
Еще ссылки по теме:

C++ Многократное определение функции
C++ Определение функции length3
Определение размера массива в функции C++

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

Или воспользуйтесь поиском по форуму:
Affteron
7 / 0 / 1
Регистрация: 14.09.2013
Сообщений: 19
15.12.2013, 02:33  [ТС]     Определение функции #7
Спасибо огромное за помощь! Теперь всё понятно) Буду должен)
Yandex
Объявления
15.12.2013, 02:33     Определение функции
Ответ Создать тему
Опции темы

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