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

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

Войти
Регистрация
Восстановить пароль
 
Affteron
7 / 0 / 1
Регистрация: 14.09.2013
Сообщений: 19
#1

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

15.12.2013, 01:32. Просмотров 384. Ответов 6
Метки нет (Все метки)

Здравствуйте. Подскажите пожалуйста есть ли разница между этими двумя програмками:
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 : у;
}
И есть ли вообще разница в том, где происходит определение функции?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.12.2013, 01:32     Определение функции
Посмотрите здесь:

Определение функции не разрешено? - C++
Помогите пожалуйста: Выдает ошибку |83|error: a function-definition is not allowed here before '{' token| Не могу понять в чем дело...

Определение элементов функции. - C++
#include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;vector&gt; using namespace std; void print(int i) { cout &lt;&lt;...

Определение функции length3 - C++
Напишите определение функции length3, которая имеет один аргумент радиус и содержит код: double y; y=2*3.1415*r; return y; Объявите...

Многократное определение функции - C++
Подскажите, компилятор ругается на пере-объявление функции. Есть файл h. В нём примерно, что то типа #ifndef STANDART_H #define...

Объявление и определение функции - C++
В учебнике такой код: void somefunction(int); int main() { //неважно }

Непонятное определение функции. - C++
Объясните смысл следующих определений, плз. QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &amp;option, ...

объявление и определение функции класса - C++
почему не компилируется #include &lt;iostream&gt; int main(){ class A { public: A(); // объявление конструктора

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ASCII
90 / 62 / 10
Регистрация: 15.12.2013
Сообщений: 399
Завершенные тесты: 2
15.12.2013, 01:37     Определение функции #2
в каком смысле разница?
Без объявления выше main у тебя функция не отработает, выдаст ошибку
принципиальной разницы нет.
Affteron
7 / 0 / 1
Регистрация: 14.09.2013
Сообщений: 19
15.12.2013, 02:08  [ТС]     Определение функции #3
Это я понял) Вопрос в том, зачем определять функцию после main, если сразу можно объявить и определить функцию. Есть ли в этом смысл?
ASCII
90 / 62 / 10
Регистрация: 15.12.2013
Сообщений: 399
Завершенные тесты: 2
15.12.2013, 02:12     Определение функции #4
Цитата Сообщение от Affteron Посмотреть сообщение
Это я понял) Вопрос в том, зачем определять функцию после main, если сразу можно объявить и определить функцию. Есть ли в этом смысл?
Дело в удобстве, разницы нет, ибо компилятор читает программу сразу целиком, все дальнейшее за ним...
xtorne21st
интересующийся
303 / 274 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
15.12.2013, 02:14     Определение функции #5
Цитата Сообщение от Affteron Посмотреть сообщение
И есть ли вообще разница в том, где происходит определение функции?
Разница есть и большая. При разработке больших приложений, исходный код должен быть хорошо структуризирован и разбит на отдельные модули. Это приведёт к понимаю самой модели программы, быстро компиляции и т.д. Теоретически и к сожалению практически, можно написать миллион строк main... Но вы сами понимаете чем это чревато
ASCII
90 / 62 / 10
Регистрация: 15.12.2013
Сообщений: 399
Завершенные тесты: 2
15.12.2013, 02:17     Определение функции #6
Цитата Сообщение от xtorne21st Посмотреть сообщение
Разница есть и большая. При разработке больших приложений, исходный код должен быть хорошо структуризирован и разбит на отдельные модули. Это приведёт к понимаю самой модели программы, быстро компиляции и т.д. Теоретически и к сожалению практически, можно написать миллион строк main... Но вы сами понимаете чем это чревато
я это и сказал), что дело лишь в удобстве, человек спрашивал, есть ли разница в самом коде, мол как лучше будет работать если сказать по простому), дело в читаемости, что я и сказал =)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.12.2013, 02:33     Определение функции
Еще ссылки по теме:

Определение размера массива в функции - C++
Всем доброго дня ! Подскажите пожалуйста, как можно определить размер массива в функции ? запись int n = sizeof(a)/sizeof(int);...

Определение длины массива в C++ в функции - C++
Почему sizeof() в методе main() выдает размер всех элементов массива 16, а при вызове из метода DisplayArray() тот же sizeof() выдает...

Очень интересное определение функции - C++
Доброго времени суток! сейчас собираю небольшую библиотечку - и наткнулся на очень интересный кусок кода: strtol (nptr, endptr, base) ...

Определение функции во время исполнения программы - C++
Добрый день! Прошу помощи. Скажите, реально ли определить функцию во время исполнения программы? Задача вообще такова: есть набор...

Определение хэш-функции для контейнера - C++
На просторах stackoverflow нашел следующую реализацию для std::аrrаy: namespace std { template&lt;typename T, size_t N&gt; struct...


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

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

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