Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
"C with Classes"
1646 / 1403 / 523
Регистрация: 16.08.2014
Сообщений: 5,880
Записей в блоге: 1
1

Параметр с аргументом по умолчанию без идентификатора

07.07.2019, 20:04. Показов 598. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
как эта запись по научному называется, и какая цель у нее.
C++
1
2
3
4
void G(int = 1)
{
    
}
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.07.2019, 20:04
Ответы с готовыми решениями:

Конструктор с аргументом по умолчанию
Как программа понимает, к примеру, при объявлении объекта таким образом как "String a;" что l=0?...

Нормально ли заводить таблицу без уникального идентификатора?
Думаю заводить таблицу для хранения прав пользователей вида uid,ячейки_прав... Нормально ли...

Параметр функции по умолчанию
Пишу функции, у которой может быть параметр по умолчанию вот код int add_after (int val, int pos...

Шаблоны и параметр по умолчанию
Добрый день. Вроде всё делаю по учебнику, но компилятор не пропускает: #include <iostream>...

7
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,737
Записей в блоге: 1
07.07.2019, 20:14 2
Безымянный параметр имеется ввиду?
0
"C with Classes"
1646 / 1403 / 523
Регистрация: 16.08.2014
Сообщений: 5,880
Записей в блоге: 1
07.07.2019, 20:17  [ТС] 3
Цитата Сообщение от Croessmah Посмотреть сообщение
Безымянный параметр имеется ввиду?
да, но с аргументом по умолчанию, зачем он может понадобиться?

Добавлено через 1 минуту
почему это разрешено.

Добавлено через 30 секунд
разрешено потому что не противоречит законам физики?

Добавлено через 23 секунды
все что не запрещено, разрешено?
0
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
07.07.2019, 20:19 4
Цитата Сообщение от _stanislav Посмотреть сообщение
как эта запись по научному называется
Ошибка архитектуры
1
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,737
Записей в блоге: 1
07.07.2019, 20:19 5
Например, он может быть зарезервирован для будущих нужд. А чтобы потом не ломать совместимость, он задан по-умолчанию. Имени нет, например, чтобы компилятор не ругался на неиспользуемый параметр.
2
"C with Classes"
1646 / 1403 / 523
Регистрация: 16.08.2014
Сообщений: 5,880
Записей в блоге: 1
07.07.2019, 20:28  [ТС] 6
Цитата Сообщение от rikimaru2013 Посмотреть сообщение
Ошибка архитектуры
поясни пожалуйста.

Добавлено через 1 минуту
Цитата Сообщение от Croessmah Посмотреть сообщение
Например, он может быть зарезервирован для будущих нужд. А чтобы потом не ломать совместимость, он задан по-умолчанию. Имени нет, например, чтобы компилятор не ругался на неиспользуемый параметр.
а если в шаблоне, нет никаких специальных правил для этого?
C++
1
2
3
4
5
template <typename T = std::string>
void F(T = "")
{
    
}
я это у Вандевурда примерчик из книги выудил.

Добавлено через 4 минуты
Цитата Сообщение от Croessmah Посмотреть сообщение
А чтобы потом не ломать совместимость, он задан по-умолчанию.
не понял, как это сохранит совместимость.
0
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
07.07.2019, 20:29 7
http://www.open-std.org/jtc1/s... /n3337.pdf
8.4.1/6
C++
1
2
3
4
//Unused parameters need not be named. For example,
void print(int a, int) {
std::printf("a = %d\n",a);
}
_stanislav, ну входной параметр функции не используется наталкивает на мысль почему функция тогда с параметрами. Ладно int main( int, char** ) можно еще увидеть потому, что 95% без входных параметров
1
"C with Classes"
1646 / 1403 / 523
Регистрация: 16.08.2014
Сообщений: 5,880
Записей в блоге: 1
07.07.2019, 20:55  [ТС] 8
Цитата Сообщение от _stanislav Посмотреть сообщение
почему это разрешено.
что бы соблюсти целостность и самодостаточно языковых конструкций?

Добавлено через 26 секунд
как я понимаю четких практических целей у этой конструкции нет.

Добавлено через 4 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
 
struct ShowMassege
{
    ShowMassege() {std::cout << "Hello World!";}
};
 
void Function(ShowMassege = ShowMassege{} )
{
 
}
 
int main()
{
    Function();
    
    return 0;
}
Добавлено через 27 секунд
только не понятен практический смысл такого.

Добавлено через 7 минут
нашел одно применение:
C++
1
2
3
4
5
6
7
8
9
int f(double d = 10., int) // error
{
    
}
 
int f(double d = 10., int = 0) // ok
{
    
}
Добавлено через 1 минуту
это как раз с резервированием параметра, как я понимаю.
0
07.07.2019, 20:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.07.2019, 20:55
Помогаю со студенческими работами здесь

Копирование файла, указанного первым аргументом, в папку, часть пути к которой указана вторым аргументом
Добрый день. Есть два задания из лабораторной работы. Я бы с радостью их сделал где угодно, кроме...

Параметр не имеет значения по умолчанию
Что в запросе не так, помогите пожалуйста procedure TForm1.sButton4Click(Sender: TObject); ...

Параметр не имеет значения по умолчанию
ввожу в edit число , выдает ошибку f:= StrToInt (Edit4.Text); ...

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


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru