Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
Crudelis
Шаровик затейник
675 / 417 / 13
Регистрация: 06.05.2010
Сообщений: 1,109
#1

Функции с произвольным количеством и типом аргументов. - C++

15.06.2010, 21:48. Просмотров 1233. Ответов 3
Метки нет (Все метки)

Начал изучать ф-ции с определенным количеством параметров и при изучении возник вопрос, а именно:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <iostream>
using namespace std;
#include <stdarg.h>
 
void AnyType(int count,bool typeof,...){
 
    int sumi=0;
 
    double sumd=0.0;
 
    va_list arg_ptr;
 
    va_start(arg_ptr,count);
 
    va_arg(arg_ptr,bool);
 
    while(count--){
 
        if(typeof)
            sumi+=va_arg(arg_ptr,int);
        else
            sumd+=va_arg(arg_ptr,double);
    }
 
    va_end(arg_ptr);
 
    if(typeof)
        cout<<"Integer sum = "<<sumi;
    else
        cout<<"Double sum = "<<sumd;
    cout<<"\n\n";
}
void main()
{
 
    AnyType(4,true,3,8,9,4);
 
    AnyType(3,false,2.5,1.1,3.6);
 
}
va_list, arg_ptr, va_start, va_arg, va_end - это стандартные функции прописанные в файл stdarg.h?
Не совсем до конца понял что делает va_end(arg_ptr);, то что заканчивает анализ понятно, но почему передается arg_ptr?

Добавлено через 3 часа 15 минут
неужели никто не знает ответа?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.06.2010, 21:48
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Функции с произвольным количеством и типом аргументов. (C++):

Создание функций, с произвольным количеством аргументов - C++
Всем доброго. Мне нужно создать функцию(с произвольным количеством аргументов), который использует первую(тоже с произвольным количеством...

Шаблон функции с переменным количеством аргументов - C++
Добрый вечер, мне необходимо при помощи шаблона функции реализовать поиск минимального числа(тип данных не известен, количество чисел...

Строковый двумерный массив с произвольным количеством элементов - C++
Здравствуйте. К примеру, в текстовом файле буду слова, которыми нужно заполнить массив, но не известно, сколько будет этих самых слов....

Класс книга. Работа с произвольным количеством книг - C++
Помогите доделать:help: Создать класс Книга.Информация о книге: название, автор, год издания. Предусмотреть возможность работы с...

Посчитать в строке количество слов с одним пробелом и с произвольным их количеством - C++
Запросить у пользователя строку с символами, и посчитать в ней количество слов с одним пробелом и с произвольным их количеством

В чем разница между типом функции и типом возвращаемого значения? - C++
Читаю статью https:// code-live. ru/post/cpp-functions/ (ссылку изменил дабы не делать рекламу) Там написано - Любая функция...

3
odip
Эксперт С++
7159 / 3221 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
15.06.2010, 22:26 #2
va_end - выполняет некоторую очистку после всего
Не факт что вообще что-то делает - может и ничего не делать - зависит от реализации.
0
Crudelis
Шаровик затейник
675 / 417 / 13
Регистрация: 06.05.2010
Сообщений: 1,109
15.06.2010, 23:37  [ТС] #3
odip, а по поводу других va_? я читал что это стандартные максоры к-е прописаны в файле stdarg.h
0
odip
Эксперт С++
7159 / 3221 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
16.06.2010, 08:17 #4
Ну ты сам все знаешь.
Вопрос-то в чем ?
1
16.06.2010, 08:17
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.06.2010, 08:17
Привет! Вот еще темы с ответами:

Посчитать количество столбцов в строке, разделённых произвольным количеством белых знаков - C++
Необходимо посчитать количество столбцов в строке, разделённых произвольным количеством белых знаков (кроме знака конца стоки). Также...

Функция с неограниченным количеством аргументов - C++
Вообщем проблема: написал функцию неограниченным количеством аргументов под виндой (компилятор mingw) все работает как часы, но под unix...

Есть функция с кучей аргументов, как её вызвать в другой функции (если половины аргументов у меня нет)? - C++
Я конечно, понимаю, что на такие вопросы отвечают &quot;почитай книжку&quot;. Я читала, честное слово:) Конкретно. Есть функция void jacobi (...

Функция с переменным количеством аргументов вызывает out of memory - C++
property(string &amp; name_c, short nesting_c, string &amp; level1, ...) { nesting=nesting_c; name=name_c; va_list p; ...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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