Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
Заблокирован

Аргументы функции по умолчанию

21.12.2011, 10:04. Показов 2173. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Допустим у нас имеется некоторая функция, некоторые аргументы которой специфицируются как аргументы, допускающие значения по умолчанию.
Верно ли что при всех вызовах такой функции для данных аргументов, когда их значения не указываются в вызове, всегда будут использованы одни и те же значения?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.12.2011, 10:04
Ответы с готовыми решениями:

Аргументы функции по умолчанию
Помогите. Вот код программы #include <iostream> using namespace std; #include <cstdlib> #include <cstring> struct stringy{ ...

Аргументы функции по умолчанию
Есть пример из книги Прата с использованием аргументов, определяемых по умолчанию. После ввода строки программа виснет. Подскажите, в чем...

Аргументы функции по умолчанию
Написать функцию, которая принимает два параметра типа int: высоту и ширину. Данная функция рисует на экране прямоугольник, размер которого...

15
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
21.12.2011, 10:08
thick_int, Да
0
Заблокирован
21.12.2011, 10:18  [ТС]
Вы наверное имеет в виду случай, когда инициализация аргументов по умолчанию осуществляется константами.
Ну а если такая инициализация осущетвляется вызовами других функций?

Фактически вопрос ставится так: когда вычисляются значения по умолчанию 1) при компиляции, 2) при вызове функции.
0
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
21.12.2011, 10:27
thick_int, о каком языке идет речь?
0
Заблокирован
21.12.2011, 10:34  [ТС]
О C++.
0
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
21.12.2011, 10:37
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <stdlib.h>
 
int MyFun ()
{
    static int i;
 
    return ++i;
}
 
void fun (int a = MyFun() )
{
    std::cout << a << std::endl;
}
int main()
{
    fun (5);
 
    system ("pause");
    return 0;
}
1
Заблокирован
21.12.2011, 10:43  [ТС]
Да, спасибо,
но понятность возникла не после Вашего
C++
1
fun (5);
а после
C++
1
2
fun ();
fun ();
0
Эксперт С++
 Аватар для fasked
5045 / 2624 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 5
21.12.2011, 10:58
Цитата Сообщение от thick_int Посмотреть сообщение
но понятность возникла
Для полного дзэна и просветления вот так попробуйте
C++
1
2
3
4
5
6
7
8
9
10
int main()
{
        fun (5);
        fun ();
        fun ();
        
        fun (6);
        fun ();
        fun ();
}
1
Заблокирован
21.12.2011, 11:04  [ТС]
Итак, резюмируя все вышесказзанное, можно твердо утверждать, что правильным ответом на поставленный мною вопрос, является НЕТ.
0
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
21.12.2011, 11:08
thick_int, в С++ нет, в Си - да
1
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
21.12.2011, 11:32
go, что "в Си - да"? В Си есть аргументы по умолчанию?
0
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
21.12.2011, 11:49
silent_1991, Очевидно нет. По всей видимости я оговорился.
0
Заблокирован
21.12.2011, 12:32  [ТС]
P.S. А что разве сейчас С(без плюсов) еще имеет какую-то актуальность?
0
Эксперт С++
 Аватар для fasked
5045 / 2624 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 5
21.12.2011, 12:49
Цитата Сообщение от thick_int Посмотреть сообщение
P.S. А что разве сейчас С(без плюсов) еще имеет какую-то актуальность?
Да уж побольше, чем с плюсами
1
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
21.12.2011, 12:52
thick_int, разумеется. Драйверы, да и вообще почти весь низкий уровень (ядро ОС, например), пишется на Pure C.
1
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
04.01.2012, 10:22
Цитата Сообщение от fasked Посмотреть сообщение
Да уж побольше, чем с плюсами
Это почему?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.01.2012, 10:22
Помогаю со студенческими работами здесь

Аргументы по умолчанию C++
Здравствуйте! Подскажите пожалуйста как можно присвоить строку &quot;Hello&quot; переменной *char в прототипе функции, чтобы *a была по умолчанию...

Прата, аргументы по умолчанию
Тема - аргументы по умолчанию. Приведён код #include &lt;iostream&gt; const int ArSize = 80; char * left(const char * str, int n = 1); ...

Аргументы по умолчанию (что не так ?)
#include &quot;stdafx.h&quot; #include &quot;sys.h&quot; #include &lt;iostream&gt; using namespace std; int box ( int lenght = 1, int width = 1, int height =...

Производный класс, аргументы по умолчанию
Здравствуйте. Есть базовый класс и производный. Проблема в том что в производном классе надо сделать один аргумент, который наследуется от...

Аргументы по-умолчанию в указателе на функцию в классе
В классе создал указатель на функцию void set_window_style(void(*style)(char, char)); Вот сам метод void...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru