Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
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
0

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

29.08.2014, 23:28. Просмотров 2976. Ответов 12
Метки (Все метки)

Зачем в определении std::forward() нужен объект remove_reference ? И почему не могут быть выведены аргументы шаблона? Я написал вот такой вот код,все отлично работает,в обоих случаях возвращается rvalue, вызываются соотв. ф-и go,для lvalue и rvalue соответственно:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include <iostream>
using namespace std;
 
 
 
template <class T>  //для lvalue
T&& go(T& x )
{
    return static_cast<T&&>(x);
}
 
template <class T >
T&& go(T&& x)                  //rvalue
{
    return static_cast<T&&>(x);
}
 
class Huston
{
    int a;
public:
    Huston(int& f) :a(f)
    {
 
    }
    Huston(int&& b) :a(move(b))
    {
 
    }
};
int func(int b ){ return b; }
int main()
{
    
    int b = 3;
    Huston a(go(b));//move constructor is called
    Huston c(go(2));//move constructor is called
    return 0;
}


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

Зачем нужен 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.