|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
05.04.2011, 22:42 | #1 |
Пользователь
Регистрация: 15.01.2011
Сообщений: 77
|
Использование (...) в с++
Здравствуйте. Возник такой вопрос, вот в луа в функцию можно передать неопределнное количество аргументов:
Код:
Последний раз редактировалось Byurrer; 05.04.2011 в 23:16. |
05.04.2011, 23:13 | #2 |
:D
Форумчанин
Регистрация: 26.09.2010
Сообщений: 570
|
ну, когда вы передаете несколько элементов, они запихиваются в массив
Пишу ПО, создаю сайты, делаю курсовые работы, за деньги
C#, .NET, MS SQL, AngularJS, HTML, jQuery |
05.04.2011, 23:19 | #3 |
Пользователь
Регистрация: 15.01.2011
Сообщений: 77
|
kaljan775 а можно пример такого использования?
|
06.04.2011, 09:12 | #4 |
Unix C++ developer
Форумчанин
Регистрация: 16.04.2007
Сообщений: 651
|
Необходимо использовать va_list, va_start и va_end.
Все достаточно просто. Вот пример: Код:
Затем бегаем циклом по списку, извлекая из него следующий элемент макросом va_arg, подразумевая что тип элемента - int. Извлеченное значение сразу складываем с переменной sum. Потом просто печатаем результат на экран. Собственно в функции main происходит вызов функции с разным количеством элементов. в обоих случаях происходит печать суммы всех элементов. |
06.04.2011, 11:25 | #5 |
Пользователь
Регистрация: 15.01.2011
Сообщений: 77
|
oleg kutkov спасибо огромное за ясный пример и разъяснение! Но возник следующий вопрос: аргументы функции foo(...) должны быть только одного типа? Или можно передавать разные типы?
И как я понял при вызове foo(3, 2, 3, 4); первое число это количество аргуметов? А что делает va_end(arguments);? Последний раз редактировалось Byurrer; 06.04.2011 в 11:50. |
06.04.2011, 13:11 | #6 | |||
Unix C++ developer
Форумчанин
Регистрация: 16.04.2007
Сообщений: 651
|
Цитата:
Цитата:
Цитата:
Вообще существуют разные способы работы с переменным числом аргументов. Советую почитать эту статью: http://www.rsdn.ru/forum/cpp/418970.1.aspx Там Вы сможете найти ответы на все свои вопросы |
|||
06.04.2011, 13:51 | #7 |
Пользователь
Регистрация: 15.01.2011
Сообщений: 77
|
oleg kutkov спасибо большое, буду читать!
|
06.04.2011, 15:04 | #8 |
Пользователь
Регистрация: 06.04.2011
Сообщений: 12
|
подскажите пожалуйста,у меня стоит windows 7 и 64 разрядный процессор,какую лучше программу использовать для программирования на С++?
|
06.04.2011, 18:08 | #9 |
Пользователь
Регистрация: 15.01.2011
Сообщений: 77
|
ekzo с++ билдер 6, с++ 2010 - они у меня оба сейчас стоят, и оба работают, и стоит у меня 7 windows -64 разрядная.
|
06.04.2011, 19:41 | #10 |
Участник клуба
Регистрация: 08.10.2007
Сообщений: 1,185
|
Это сишный метод. В C++ (0x) есть variadic templates. Если компилятор не переварит, то можно скомпилить на http://ideone.com/.
Функция с переменным числом параметров. Строки выводит, а соседние числа складывает и выводит. Код:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Использование BusinessSkinForm | Kity19 | Компоненты Delphi | 2 | 03.02.2011 19:43 |
Использование ComboBox | Василь | Microsoft Office Excel | 11 | 24.04.2009 17:16 |
Использование while и while do | prikolist | Общие вопросы C/C++ | 20 | 06.04.2009 18:40 |
Использование фокуса | prikolist | Общие вопросы C/C++ | 1 | 27.03.2009 22:57 |