Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
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
В астрале
Эксперт С++
8030 / 4787 / 655
Регистрация: 24.06.2010
Сообщений: 10,558
30.08.2014, 13:11 0

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

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

Ответ

TheChosenOne, Вы не совсем логично используете std::forward. Его не имеет смысла использовать просто так с конкретными типами. Тут в соседней теме скидывали линк на тему piecewise_construct, но там и про forward прекрасно описано: http://thbecker.net/articles/r... on_08.html
Цитата оттуда, как раз про ваш вопрос:
If you want to dig a little deeper for extra credit, ask yourself this question: why is the remove_reference in the definition of std::forward needed? The answer is, it is not really needed at all. If you use just S& instead of remove_reference<S>::type& in the defintion of std::forward, you can repeat the case distinction above to convince yourself that perfect forwarding still works just fine. However, it works fine only as long as we explicitly specify Arg as the template argument of std::forward. The purpose of the remove_reference in the definition of std::forward is to force us to do so.


Вернуться к обсуждению:
Зачем в определении std::forward () нужен объект remove_reference?
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.08.2014, 13:11
Готовые ответы и решения:

Зачем нужен std::map
Почитал информацию об этом классе, но так и не понял, зачем он нужен?

Зачем нужен std::launder?
Зачем нужен std::launder?

Зачем оператору lock в качестве параметра нужен объект (object)
Зачем оператору lock в качестве параметра нужен объект (object) lock (lockObject) { //... }

Применение std::forward
Хочу сделать внутри метода большой обьект. Затем передать его через return. Для этого хочу...

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