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

считывание без указателей - C++

Восстановить пароль Регистрация
 
 
Андрей Xomach
8 / 8 / 0
Регистрация: 22.01.2012
Сообщений: 59
12.08.2013, 20:29     считывание без указателей #1
В общем, понадобилась функция read <type> () или read(), с аргументами без &, через запятую, одного типа. Это вообще возможно? Inline не помогает.
макро с _ не подходит.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Wolkodav
 Аватар для Wolkodav
599 / 452 / 32
Регистрация: 18.09.2012
Сообщений: 1,685
13.08.2013, 11:04     считывание без указателей #21
Андрей Xomach, была какая-то библиотечка в С++, для передачи неопределённого числа параметров в функцию. Поищите, я название забыл.
1) Вызов просто:
C++
1
read(a,b,c,d)
Я туда ссылку запихнул, а не указатель. Соответственно он пишет, куда ссылается ссылка.
2) Не нулями, писал, надо библиотечку поискать. Название не помню только.
3) Ну так блин, первый 'a' это первый элемент, который передаётся в функцию, и иду дальше. Так уж получается в слудающих ячейках памяти лежат наши переменные.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Андрей Xomach
8 / 8 / 0
Регистрация: 22.01.2012
Сообщений: 59
13.08.2013, 11:13  [ТС]     считывание без указателей #22
1) stdarg, я помню, она непосредственно со стеком копий работает.
Вы помещаете ссылку лишь на первый, а следующие помещаете в чистом виде, в прочем, вы их не используете
Он пишет, куда ссылается ссылка, а затем в соседние с ним элементы. Вот тест:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
template<typename T>
void read(T& a,...)
{
    T* p = &a;
    while (*p)
    {
        cin >> *p;
        p++;
    }
}
 
int main(){
    int a = 1, b = 1, c = 1, d = 1;
    int a1 = 1, b1 = 1, c1 = 1, d1 = 1;
    read <int> (a, b1, c1, d1);
    cout << a << b << c << d;
}
во-первых, просит у нас он все 8 ввести и при вводе
1 2 3 4 5 6 7 8
вывод:
1876
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11811 / 6790 / 767
Регистрация: 27.09.2012
Сообщений: 16,840
Записей в блоге: 2
Завершенные тесты: 1
13.08.2013, 11:40     считывание без указателей #23
Для работы с переменным числом параметров используйте
va_list
va_start
va_arg
va_end
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.08.2013, 13:39     считывание без указателей
Еще ссылки по теме:

Привсоение масиву указателей объекты без имени C++
как записать в массив без указателей C++
C++ Считывание из текстового файла. Считывает мусор без остановки

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

Или воспользуйтесь поиском по форуму:
Убежденный
Системный программист
 Аватар для Убежденный
14175 / 6190 / 982
Регистрация: 02.05.2013
Сообщений: 10,298
Завершенные тесты: 1
13.08.2013, 13:39     считывание без указателей #24
Цитата Сообщение от Андрей Xomach Посмотреть сообщение
я хочу
C++
1
GET_VALUES(type, a, b, c...);
в
C++
1
2
3
4
5
6
type a;
type b;
type c;
cin >> a;
cin >> b;
cin >> c;
Это можно на препроцессоре сделать.
Правда, придется немного повозиться. Оно точно Вам надо ?
Yandex
Объявления
13.08.2013, 13:39     считывание без указателей
Ответ Создать тему
Опции темы

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