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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Проект не содержит отладочной информации http://www.cyberforum.ru/cpp-beginners/thread1148640.html
..., хотите разрешить отладку и перестроить проект? И кнопочки ДА, Нет. Вот, что выдает мне Dev-C++ при попытке запустить отладку. Я, конечно, нажимаю ДА, он начинает компилить проект заново,...
C++ Нужно удалить слова как это сделать? Есть такой текст "for do while int void using while" нужно удалить слова "while" как это сделать? http://www.cyberforum.ru/cpp-beginners/thread1148639.html
Окончание W и A в функциях C++
Привет. Объясните пожалуйста допустим: GetCurrentDirectoryW (Unicode) and GetCurrentDirectoryA (ANSI) - это понятно. А обычная GetCurrentDirectory() тогда что? И вообще окончание A означает ANSI...
Вывод числа,через дробь C++
Вот у меня такая задача: Написать программу вычисления суммы 1+1/2+1/3+...+1/n для заданного числа n. Результат представить в виде несократимой дроби p/q (p, q — натуральные).Решить задачу с помощью...
C++ Подкорректировать код (сортировка распределением) http://www.cyberforum.ru/cpp-beginners/thread1148605.html
Вечер добрый, знатоки. Компилятор ошибку не отлавливает. Ошибка логическая и вылет программы происходит при входе в цикл: while (j > (l - 1)) Алгоритм слизал с хаб*ара. Может не правильно...
C++ Компилятор Borland C++ 3.1 Здравствуйте, на учебе нам поручили делать лабораторные по C++, которые я как раз и сделал. Но, увы строгому преподавателю крайне не нравится что мои программы (которые писал на своём ноутбуке, в Dev... подробнее

Показать сообщение отдельно
Alex566
240 / 152 / 18
Регистрация: 03.04.2013
Сообщений: 317
18.04.2014, 01:20
Вот пример:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
 
void output(int count, ...)
{
    int* elem = &count + 1;
    while (count--)
        cout << *elem++ << endl;
}
 
int main()
{
    output(10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0);
    system("pause");
    return 0;
}
1. Создается указатель на первый элемент функции и сдвигается на размер типа данных первого аргумента.
2. Тип данных из простого указателя преобразовывается в необходимый (необходимо знать наверняка) и из него можно получить переданную информацию.
3. После того как информация была получена указатель сдвигается опять на размер типа данных для получения следующего аргумента.
1
Миниатюры
Функция с переменным количеством параметров  
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru