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

Почему не срабатывает специализация шаблона? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вызов конструктора для this в констукторе копирования http://www.cyberforum.ru/cpp-beginners/thread347675.html
Мое почтение, уважаемые! Подскажите, пожалуйста, как вызвать конструктор для this в констукторе копирования: template<class Data> List<Data>::List(const List& list) { List(); //why do not...
C++ программа завершается аварийно запускаю компилятор, все запустилось, работает (меню из кучи условий if-else). выбираю любой пункт меню и он работает, после этого надо вернуться на главное, но не пашет, вылезает ошибка - прекращена... http://www.cyberforum.ru/cpp-beginners/thread347654.html
C++ операция <<::>>
имею код char Car::*Get_Marka(){ return marka ; } char Car::*Get_Color() { return color ; } bool Car::Get_Rastamojena() { return rastamojana ; } float Car::Get_Obyom_Dvigatelya() { return ...
Помогите переписать C++
Есть пример на Delphi: data:='строка'; IdHTTP1.Get('Ссылка'+data); А как будет выглядеть на c++? Можно с WinAPI.
C++ std::cin http://www.cyberforum.ru/cpp-beginners/thread347606.html
const int MAX = 256; int main() { char buf; std::cout<<(std::cin>>buf); return 0; } Я в консоли вижу странный вывод и не пойму что это есть такое? Что возвращает выражение скобках?...
C++ CDocument::OnSaveDocument указать фильтр для диалогового окна сохранения файла Добрый день Создал класс наследуемый от CDocument и в нем переопределяется виртуальная функция OnSaveDocument. Пробовал трассировать, она исполняется уже после того как появилось диалоговое окно... подробнее

Показать сообщение отдельно
grizlik78
Эксперт С++
1911 / 1443 / 112
Регистрация: 29.05.2011
Сообщений: 3,000
03.09.2011, 21:50
И правильно делает. st_p это просто синоним st, с точно такими же свойствами. Единственный известный мне способ, заставить шаблонную функцию принимать переменные по ссылке (если ссылка не указана явно в прототипе) это явно указать аргумент шаблона, то есть funk3<box&>()

Добавлено через 10 минут
В качестве примера, можно рассмотреть такой код:
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
#include <iostream>
 
template <typename T>
T f(T x)
{
    ++x;
    return x;
}
 
using namespace std;
 
int main()
{
    int a = 5;
    int &b = a;
    cout << f(a) << endl;
    cout << "a = " << a << endl;
 
    cout << f(b) << endl;
    cout << "a = " << a << endl;
    
    cout << f<int&>(a) << endl;
    cout << "a = " << a << endl;
 
    return 0;
}
Меня бы очень удивило, если бы после вызова f(b) изменилась бы переменная a. Ведь это b является ссылкой на a, а не x.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru