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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
XRuZzz
Антикодер
615 / 516 / 26
Регистрация: 15.09.2012
Сообщений: 2,457
#1

Что делает код? - C++

21.05.2014, 10:35. Просмотров 376. Ответов 4
Метки нет (Все метки)

цитата из переведённой книги Александреску по языку D:
"Если кто-то из ваших коллег прокачал самоуверенность до уровня Супермена,
спросите его, что делает код object.template fun<arg>(), и вы увидите
криптонит в действии."
И что же он делает?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.05.2014, 10:35     Что делает код?
Посмотрите здесь:

C++ Обьясните пожайлуста как и что делает данный оператор в этом выражении fState [x][y] ^= 1;. Неполный код привожу ниже.
C++ Что делает данный код и зачем такое кому-нибудь может понадобиться?
Что делает этот код? C++
Что делает следующий код программы? C++
Пояснить что делает код C++
C++ Скажите, что делает данный код?
Что примерно делает этот код (из HexRays) C++
C++ Что делает операция new?
C++ Что делает этот код?
Что делает данный код? C++
Что делает данный код? C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6547 / 3967 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
21.05.2014, 11:06     Что делает код? #2
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
#include <iostream>
 
struct foo
{   
    template<class T>
    void fun()
    {
        std::cout << "foo::fun<T>()\n";
    }
};
 
template<class T>
void bar(T object)
{
    object.fun<int>(); //complile error
    object.template fun<int>(); //ok
}
 
int main()
{
    foo f;
    bar(f);
    return 0;
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
 
struct foo
{   
    typedef int inner_foo;
};
 
template<class T>
struct bar
{
    //typedef typename T::inner_foo inner_bar; //compile error
    typedef typename T::inner_foo inner_bar; //ok
    
    inner_bar b;
};
 
int main()
{
    bar<foo> b;
}
из той же опреры
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
21.05.2014, 11:07     Что делает код? #3
Я даже не знаю как это проще объяснить, но

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class A
{
public:
   template<typename U>
   void function() const {}
};
 
template<typename T>
void f(const T& p)
{
   p.template function<T>();
}
 
int main()
{
   A a;
   f(a);
}
Попробуйте без template. А так же в догонку: http://stackoverflow.com/questions/6...ename-keywords читать в ответе на тему template.
Tulosba
21.05.2014, 15:05
  #4

Не по теме:

Цитата Сообщение от Jupiter Посмотреть сообщение
C++
1
2
//typedef typename T::inner_foo inner_bar; //compile error 
typedef typename T::inner_foo inner_bar; //ok
Найди 10 различий.

ForEveR, с возвращением

Jupiter
Каратель
Эксперт C++
6547 / 3967 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
21.05.2014, 17:48     Что делает код? #5
Цитата Сообщение от Tulosba Посмотреть сообщение
Найди 10 различий.
угу, спс
C++
1
2
//typedef T::inner_foo inner_bar; //compile error 
typedef typename T::inner_foo inner_bar; //ok
Yandex
Объявления
21.05.2014, 17:48     Что делает код?
Ответ Создать тему
Опции темы

Текущее время: 02:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru