4.6.6 Параметры по Умолчанию
4.6.6 Параметры по Умолчанию
Часто в самом общем случае функции требуется больше праметров, чем в самом простом и более употребительном случае. Например, в библиотеке потоков есть функция hex(), порождащая строку с шестнадцатиричным представлением целого. Второй параметр используется для задания числа символов для предтавления первого параметра. Если число символов слишком мало для представления целого, происходит усечение, если оно сликом велико, то строка дополняется пробелами. Часто програмист не заботится о числе символов, необходимых для предсталения целого, поскольку символов достаточно. Поэтому для нуля в качестве второго параметра определено значение «использвать столько символов, сколько нужно». Чтобы избежать засорния программы вызовами вроде hex(i,0), функция описывается так:
extern char* hex(long, int =0);
Инициализатор второго параметра является параметром по умолчанию. То есть, если в вызове дан только один параметр, в качестве второго используется параметр по умолчанию. Напрмер:
cout «„ „**“ «« hex(31) «« hex(32,3) «« «**“;
интерпретируется как
cout «„ „**“ «« hex(31,0) «« hex(32,3) «« «**“;
и напечатает:
** 1f 20**
Параметр по умолчанию проходит проверку типа во время описания функции и вычисляется во время ее вызова. Задавать параметр по умолчанию возможно только для последних парамеров, поэтому
int f(int, int =0, char* =0); // ok int g(int =0, int =0, char*); // ошибка int f(int =0, int, char* =0); // ошибка
Заметьте, что в этом контексте пробел между * и = явлется существенным (*= является операцией присваивания):
int nasty(char*=0); // синтаксическая ошибка
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Программы по умолчанию
Программы по умолчанию При рассмотрении элементов меню Пуск вскользь упоминалось о пункте Программы по умолчанию. Он открывает доступ к настройкам, отвечающим за сопоставление типов файлов установленным программам и выбор приложений, открываемых по умолчанию для
27.5. Параметры транзитных узлов и параметры получателя IPv6
27.5. Параметры транзитных узлов и параметры получателя IPv6 Параметры для транзитных узлов и параметры получателя IPv6 имеют одинаковый формат, показанный на рис. 27.3. Восьмиразрядное поле следующий заголовок (next header) идентифицирует следующий заголовок, который следует за
4.1.4. Права по умолчанию
4.1.4. Права по умолчанию Когда пользователь создает новый файл или директорию, то им назначаются права по умолчанию. Давайте разберем это на примере. Для создания файла выполним команду ls и перенаправим вывод в файл:ls -al >> testfileТеперь проверим права на этот файл с помощью
4.11.1. Фильтр по умолчанию
4.11.1. Фильтр по умолчанию Исходя из принципа всеобщего запрета, в качестве правила по умолчанию мы должны запретить любые действия. Изначально в Linux все разрешено, а это безопасно только для отдельно стоящего сервера, который даже не подключен к сети. Проверьте ваши
8.6.2 Маршрут по умолчанию
8.6.2 Маршрут по умолчанию Первой строкой в таблице 8.1 стоит маршрут по умолчанию. В ней указано, что, не найдя совпадения со строкой таблицы, трафик должен быть направлен на ближайший соседний маршрутизатор с адресом
8.7.2 Маршрут по умолчанию
8.7.2 Маршрут по умолчанию Первой строкой в таблице стоит маршрут по умолчанию. Если не найдено ни одного совпадения, трафик будет передан на ближайший маршрутизатор с адресом
Программы по умолчанию
Программы по умолчанию Компонент Программы по умолчанию позволяет установить правила привязки файлов разных форматов к определенным программам, которые будут их обрабатывать. Здесь вы не только можете менять эти приложения, но и добавлять другие форматы файлов, с
Префикс по умолчанию
Префикс по умолчанию Можно также определить префикс, который по умолчанию будет подставляться к адресу в адресной строке, если он там явно не указан. По умолчанию используется префикс http://, который говорит браузеру о том, что он должен отослать запрос службе WWW. Но если вы
В браузере по умолчанию
В браузере по умолчанию А можно ли как-то сохранить адрес понравившегося сайта? Оказывается можно! В любом браузере найдется в верхней строчке меню нужная кнопочка, которая обычно называется Избранное, Закладки или Favorites. Чтобы сохранить нужную страничку в своих
Значения по умолчанию
Значения по умолчанию Наш пример проиллюстрировал присваивание константам значений по умолчанию. Константам, появляющимся в описании enum, присваиваются целые числа 0, 1, 2 и т. д. в порядке их расположения. Так, описание enum kids {nippy, slats, skip, nana, liz};присваивает nаnа значение 3.
3. Значения по умолчанию
3. Значения по умолчанию Системы управления базами данных могут иметь возможность создания любых произвольных значений по умолчанию или, как их еще называют, умолчаний. Эта операция в любой среде программирования имеет достаточно большой вес, ведь практически в любой
Преобразования по умолчанию
Преобразования по умолчанию Большинство операций языка Си выполняют преобразование типов для приведения своих операндов к общему типу либо для того, чтобы расширить значения коротких по размеру типов до размера, используемого в машинных операциях. Преобразования,
7.3.2. Параметры-ссылки и параметры-указатели
7.3.2. Параметры-ссылки и параметры-указатели Когда же лучше использовать параметры-ссылки, а когда – параметры-указатели? В конце концов, и те и другие позволяют функции модифицировать объекты, эффективно передавать в функцию большие объекты типа класса. Что выбрать:
14.2.1. Конструктор по умолчанию
14.2.1. Конструктор по умолчанию Конструктором по умолчанию называется конструктор, который можно вызывать, не задавая аргументов. Это не значит, что такой конструктор не может принимать аргументов; просто с каждым его формальным параметром ассоциировано значение по
Программы по умолчанию
Программы по умолчанию Существует также возможность удаления из меню Пуск кнопки Программы по умолчанию. Для этого необходимо в разделе реестра HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer создать REG_DWORD-параметр NoSMConfigurePrograms и присвоить ему значение 1, после чего перезагрузить