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

особенности передачи по "&&" - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Шаблон класса строк - ошибка компиляции http://www.cyberforum.ru/cpp-beginners/thread923779.html
Добрый вечер. Пытаюсь выполнить упражнение с учебника. Gcc выдаёт следующее: /home/ilyuha21st/Projects/qtcreator/cpp_some1/main.cpp:148: error: need 'typename' before 'String<C>::Cref' because 'String<C>' is a dependent scope #include <iostream> #include <cstring> template<class C> class String { struct Srep; Srep* rep; class Cref;
C++ Явная специализация, зачем она нужна?(Шаблоны функций) Какой смысл в явной специализации, когда есть перегрузка? если можно, и примерчик) я себе уже в голову вбил, и тут надо чем-то тяжелым выбивать, что специализация - нужная вещь XD и если можно, литературу хорошую именно на эту тему(Шаблоны функций). спасибо :) http://www.cyberforum.ru/cpp-beginners/thread923763.html
Bool C++
Обьясните мне, как они pаботают и где их пpименять =( Вот с помощью учебника написал пpогу #include "stdafx.h" #include <iostream> using namespace std; int _tmain(int argc, _TCHAR* argv) { int a=2;
C++ Задачка на вывод чисел на естественном языке
Составить программу, которая читает натуральное число в десятичном представлении, а на выходе выдаёт это же число в десятичном представлении и на естественном языке. вот от 0-99 получилось вроде как, а вот с сотнями не получается. Делал через массивы. Если кому не сложно, исправьте что не так, ну или скажите как правильно сделать. Вот код. #include<stdio.h> #include<math.h>...
C++ Змейка http://www.cyberforum.ru/cpp-beginners/thread923709.html
Можно пожалуйста самую простую змейку консольную на c++ вобще самую простую без очков без всяких дополнений просто змейка ограда для нее и яблочко
C++ Ошибка в простой программе #include<iostream> #include<string> using namespace std; string recyrs() { string parol,parol1="12345"; cout << "Vvedit parol" <<endl; cin >> parol; подробнее

Показать сообщение отдельно
soican
49 / 23 / 1
Регистрация: 16.11.2011
Сообщений: 329
Записей в блоге: 5
16.07.2013, 01:21     особенности передачи по "&&"
я не знаю как называется передача по "&&" . я называю "по двум загогулинам."
вопрос №1: есть работающий код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
void foo(const int&)
{    std::cout << "Hello! I'm foo(const int&)" << std::endl;  }
 
void foo(int&&)
{  std::cout << "Hello! I'm foo(int&&)" << std::endl; }
 
template <class T>
void bar(T&& t)
{     foo(t);  }
 
int main()
{   bar(42);
    return 0;
}
почему если bar принимает 42 "по двум загогулинам." то внутри него foo использует 42 как const int& и пишет соответственно "Hello! I'm foo(const int&)" (про std::forward я знаю)
вопрос №2:
если не использовать шаблон, то будет облом - почему?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
void foo(const int&)
{    std::cout << "Hello! I'm foo(const int&)" << std::endl;  }
 
void foo(int&&)
{  std::cout << "Hello! I'm foo(int&&)" << std::endl; }
 
void bar(int&& t) // убираем template
{    foo(t); }
int main()
{    int a = 42;
    bar(a); // cannot bind 'int' lvalue to 'int&&'
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 18:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru