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

Возможно ли реализовать аналог функции Read из Паскаля? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Особенности Visual Studio 2010 http://www.cyberforum.ru/cpp-beginners/thread1241353.html
Всем привет. Вопрос знатокам С/C++. Мы знаем, что, взять например язык С: 1) Компилятор языка при присвоении одной переменной одного типа другой переменной другого типа, где возможна потеря данных не требует явного привидения типов, но выдаст предупреждение, хотя в такой же ситуации компилятор С++ выдаст ошибку. Вот например: /* Какой-то код */
C++ Не выводится на экран элемент динамического массива Здравствуйте! Сразу прошу прощения за название темы, т.к. далее по тексту вы узнаете, что проблема относится не совсем к выводу на экран элементов массива. А проблема заключается в следующем: Пользователь вводит квадратную матрицу, и программа должна сформировать одномерный массив из элементов, расположенных в таком порядке, как на картинке (задача 18). #include <iostream> using... http://www.cyberforum.ru/cpp-beginners/thread1241351.html
C++ Нужна программа, которая по регулярному выражению находит все совпадения в строке
Никак не могу освоить добавленную в C++11 библиотеку <regex>! Помогите пожалуйста! Нужна программа, которая по регулярному выражению находит все совпадения в строке (<string>), и, если не затруднит, объясните, пожалуйста, как она работает и как работают здесь регулярные выражения и работают ли вообще. Дело в том что уже долго пытаюсь написать такую программу на C++11... Писал на Питоне, там...
Формирование нечетных чисел C++
Приветствую всех! Имеется такой код: srand(time(0)); int ia,c=0; for(int i=0; i!=5; i++) { while(ia % 2 == 0) { ia = rand() % 100; }
C++ Классы: Не создаются объекты класса Apple http://www.cyberforum.ru/cpp-beginners/thread1241325.html
Includes.h #include <stdlib.h> #include <gl\glut.h> #include <math.h> #include<stdio.h> #include<time.h> #include<stdio.h> #include<iostream> using namespace std;
C++ Неправильно выводятся данные структуры #include <iostream> #include <conio.h> #include <string> #define deathgant 7 using namespace std; union tag_value{ int kill_1; int kill_2; подробнее

Показать сообщение отдельно
0x10
2437 / 1609 / 235
Регистрация: 24.11.2012
Сообщений: 3,949
12.08.2014, 14:23     Возможно ли реализовать аналог функции Read из Паскаля?
Цитата Сообщение от Андрей Xomach Посмотреть сообщение
по 1 функции read для каждого числа аргументов
Да, но все это происходит на этапе компиляции, поэтому рекурсивные вызовы могут быть поинлайнены.
Что касается передачи аргументов, я уже второй раз забываю про std::forward, в связи с чем исправляюсь:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <string>
#include <utility>
 
template <class T>
void Read(T& item) {
    std::cin >> item;
}
 
template <class T, class... Args>
void Read(T& item, Args&&... args) {
    Read(item);
    Read(std::forward<Args>(args)...);
}
 
int main() {
    int a, b;
    std::string str;
    
    Read(a, b, str);
    
    std::cout << a << " " << b << " " << str;
}
Цитата Сообщение от some_name Посмотреть сообщение
так а пакет из себя что представляет?
и во что он разворачивается?
На уровне ассемблера не покажу, но суть - список аргументов. Т.е. вызов f(args...) аналогичен f(a, b, c, d), где (a..d) - аргументы, указанные при вызове функции.
 
Текущее время: 03:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru