Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Конструктор без параметров: не выводится строка в приведенном коде https://www.cyberforum.ru/ cpp-beginners/ thread1248968.html
#include "stdafx.h" #include "conio.h" #include <iostream> using namespace::std; class String { protected: enum { SZ = 80 }; char str; public:
C++ Определить, содержит ли последнее слово строки букву, с которой начинается первое слово
2.) В динамической памяти размещена строка символов. Определить, содержит ли последнее слово строки букву, с которой начинается первое слово.
Определить количество промежутков монотонности массива C++
1.) В динамической памяти размещён массив размера N. Определить количество его промежутков монотонности (то есть участков, на которых его элементы возрастают или убывают).
C++ Объединить содержимое N файлов 2.) Дано целое число N (<4) и N файлов одного и того же типа с именами S1,...,Sn. Объединить содержимое этих файлов (в заданном порядке) в новом файле с именем S0. https://www.cyberforum.ru/ cpp-beginners/ thread1248953.html
C++ Создать два файла, первый содержит элементы исходного файла с нечетными номерами, а второй с четными https://www.cyberforum.ru/ cpp-beginners/ thread1248952.html
1.) Дан файл вещественных чисел разделенных одним пробелом. Создать два новых файла, первый из которых содержит элементы исходного файла с нечетными номерами (1, 3, ...), а второй - с четными (2, 4,...
C++ Реализована ли в C++ рефлексия?
реализованна в с++ рефлексия?..хотелось бы что-то вроде этого void foo(int val) { //code } class MyClass{}; int main()
C++ Спортивное программирование: подскажите удобный сайт
Всем Доброго времени суток!:) Уважаемые программисты с опытом,нужна помощь новичку. Увлёкся спортивным программированием,столкнулся с небольшой проблемой.Проблема заключается в том,что не могу...
C++ Запись из файла двумерного массива N x 2, где N -величина не постоянная Много тем пересмотрел, но везде массив имел постоянные размеры, тут же - количество строк может меняться. Подскажите как записать в массив данные из файла чтобы можно было иметь к ним доступ... https://www.cyberforum.ru/ cpp-beginners/ thread1248929.html
C++ Random-массив с разными числами в заданном диапозоне https://www.cyberforum.ru/ cpp-beginners/ thread1248913.html
Всем доброго времени суток! Возникла небольшая проблема! Задача заключается в том, чтобы заполнить массив разными числами от 1-25. И не могу понять, почему у меня вроде бы все работает, но, последние...
C++ Можно ли увеличить быстродействие программы по поиску простых чисел? Я составил для себя программу, ищущую простые числа. Мне удалось довести её до следующей скорости: На Ubuntu 12.04 числа в пределах 100000 находит мгновенно, до миллиона - за 1.2 секунды, до 10... https://www.cyberforum.ru/ cpp-beginners/ thread1248882.html
13 / 13 / 2
Регистрация: 13.09.2013
Сообщений: 113
30.08.2014, 20:06  [ТС] 0

Зачем в определении std::forward () нужен объект remove_reference?

30.08.2014, 20:06. Просмотров 2985. Ответов 12
Метки (Все метки)

Ответ

Nick Alte, Вы,скорее всего не поняли вопрос. Вот,допустим я написал свой "forward<T>()" ,его задача передать аргумент,сохранив его тип. Но мой forward() будет использовать type deducing:
C++
1
2
3
4
5
template <class T >
T&& go(T&& x)
{
    return static_cast<T&&>(x);
}
Когда передаю ему lvalue , он возвращает lvalue. Когда передаю rvalue, он возвращает rvalue. Вроде бы как и должен работать ? Тогда зачем в std::forward() используется явная параметризация шаблона? Если и без нее можно было написать ф-ю, которая сама будет выводить шаблонный параметр и работать при этом корректно (или она все же работает некорректно,но в каком случае? ) ?

Добавлено через 3 минуты
ct0r, Тип Т ? Выводится всегда Т& (lvalue) или T&& (rvalue), разве это некорректно ? Универсальные ссылки,это шаблонные ссылки ?

Вернуться к обсуждению:
Зачем в определении std::forward () нужен объект remove_reference?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.08.2014, 20:06

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

C++11 - std::forward и static_assert
Привет. Эта тема создана в познавательных целях. А именно, мне не совсем понятна реализация...

Зачем часто писать std::, если можно один раз using namespace std?
зачем часто писать std:: если можно один раз using namespace std?

В каком случае используется вторая перегрузка std::forward?
В каком случае используется втарая перегрузка std::forward? //clang 3.8.0 #include...

Зачем в определении функции заново задаются переменные
Есть программа для перевода из Цельсия в фарингейты На грамматические ошибки не обращайте...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.