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

Функции с варьирующимися параметрами - C++

Восстановить пароль Регистрация
 
AlexCore
2 / 2 / 0
Регистрация: 28.08.2013
Сообщений: 26
11.09.2013, 20:16     Функции с варьирующимися параметрами #1
Здравствуйте!

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

Например, у нас есть функция

C++
1
void f(...){}
в main:
C++
1
2
3
string s("Hello");
int n, g;
f(n, g, s);
Как можно обратиться к параметрам, вызываемым из main?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.09.2013, 20:16     Функции с варьирующимися параметрами
Посмотрите здесь:

Запуск потока для функции с параметрами C++
Создание функции с параметрами C++
Функции с числовыми параметрами C++
C++ Функции с числовыми параметрами
C++ Передать параметрами функции указатели
C++ Объявление функции с необязательными параметрами
Шаблон функции с параметрами по умолчанию C++
Функции с параметрами C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Voivoid
 Аватар для Voivoid
580 / 256 / 12
Регистрация: 31.03.2013
Сообщений: 1,283
11.09.2013, 20:29     Функции с варьирующимися параметрами #2
см. variadic templates. А функции принимающие произвольное кол-во нетипизированных параметров лучше не использовать
OhMyGodSoLong
~ Эврика! ~
 Аватар для OhMyGodSoLong
1234 / 983 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
11.09.2013, 23:10     Функции с варьирующимися параметрами #3
Цитата Сообщение от AlexCore Посмотреть сообщение
Как можно обратиться к параметрам, вызываемым из main?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <cstdarg>
 
void f(int x, ...)
{
    va_list v;
    va_start(v, x); // последняя переменная перед многоточием
    /*
    ** В теле функции используется va_arg(v, <тип>) для получения
    ** значения следующего аргумента. Этот макрос:
    **    o  имеет побочный эффект: получение значения аргумента
    **       необратимо влияет на список v, так что следующий вызов
    **       va_arg вернёт уже следующий аргумент;
    **    o  возлагает ответственность за корректность типов и контроль
    **       фактического количества аргументов на программу;
    **    o  вызывает рвотные рефлексы у плюсовиков.
    */
    va_end(v);
}
Yandex
Объявления
11.09.2013, 23:10     Функции с варьирующимися параметрами
Ответ Создать тему
Опции темы

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