Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.06.2010, 18:34   #1
Crudelis
Пользователь
 
Аватар для Crudelis
 
Регистрация: 05.04.2010
Сообщений: 56
Вопрос Функции с произвольным количеством и типом аргументов.

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

Код:
#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?
сout<<"Изучаю программирование" точка с запятой
Crudelis вне форума Ответить с цитированием
Старый 16.06.2010, 00:10   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Откройте справку. Там четко и не один раз написано, что это макросы.

Цитата:
Не совсем до конца понял что делает va_end(arg_ptr)
Цитата:
va_end
Macro to reset arg_ptr
p51x вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с заданием аргументов функции по умолчанию LMnet Помощь студентам 4 15.01.2010 17:59
Простейшая задача на функцию со сменным количеством аргументов iFireFly Общие вопросы C/C++ 1 07.01.2010 12:21
Обход ячеек по спираль с произвольным центром. iness Помощь студентам 6 16.11.2009 10:09
Алгоритм наискорейшего спуска для любого количества аргументов целевой функции Evil Sun Общие вопросы C/C++ 5 08.05.2009 13:18
Циклы с произвольным количеством шагов Walter Помощь студентам 11 09.11.2008 16:53