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

Почему нельзя объявить указатель на шаблонную структуру? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Блок-схемы http://www.cyberforum.ru/cpp-beginners/thread312384.html
Помогите составить блок схемы к программам: 1)#include<iostream.h> #include<stdio.h> int main () { int x, y, z, F; FILE* o; o=fopen("1.txt", "r"); fscanf(o,"%d %d %d",&x,&y,&z); fclose(o); if (x>0) F=x/5+y+z/3;
C++ Уменьшение времени выполнения цикла Нужна помощь, мне надо засечь время выполнения цикла, который инициализирует элементы массива. А потом надо как-то развернуть цикл и засечь уже время выполнения развернутого цикла. И у меня два вопроса: 1) Как засечь время такого маленького цикла(пробовал и clock() и GetTickCount() не улавливают) ? 2) Как вообще развернуть этот цикл? Помогите пожалуйста! Очень надо. Напишу код всей... http://www.cyberforum.ru/cpp-beginners/thread312382.html
C++ Разработать класс Figure
Разработать класс Figure (геометрические фигуры) и производный класс Angle (угол). Описать атрибуты.
C++ Функции и указатели
Второй нубский вопрос за день. До сегодняшнего дня вполне успешно пользовался STL-овскими стрингами, сейчас наткнулся в книге Страуструпа на задание - написать свои аналоги функций из string.h, а также реализовать atoi и itoa. Посидел, поизобретал велосипед... Но на itoa застопорился=\ #include <cstdio> unsigned str_len(const char * str){ int i=-1; while (str); ...
C++ Как узнать знак числа? http://www.cyberforum.ru/cpp-beginners/thread311978.html
как узнать знак числа для float или double. пишу в win32.
C++ STL set вопрос почему в строке while( (*ii)!=elem) говорит что я не перегрузил != не могу понять, и почему в строке cout<<*p<<" "; говорит что я не перегрузил вывод для моего класса ?? Подскажите кто то, оч прошу, я сравниваю пока для простоты по интовой переменной класса, и приходится пользоваться функцией лук, прописанной в классе , с типом инт9если сделать 1 переменную в классе все работает... ... подробнее

Показать сообщение отдельно
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9384 / 5434 / 916
Регистрация: 25.07.2009
Сообщений: 10,428
28.08.2011, 21:02     Почему нельзя объявить указатель на шаблонную структуру?
fasked, в принципе уже показал, как надо, к тому же в С++ при наличии контейнеров, итераторов и прочих благ цивилизации указателями без крайней на то нужды вроде бы лучше и не пользоваться, но раз уж написал...
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>
 
template <typename T>
class AnyType {
    T val;
    size_t cnt;
public:
    void set(const T & _val, size_t _cnt){
        val = _val;
        cnt = _cnt;
    }
    T Val() const {
        return val;
    }
    size_t Cnt() const {
        return cnt;
    }
};
 
typedef AnyType<double> DoubleType;
typedef AnyType<int> IntType;
 
int main(){
    const int size(10);
    
    DoubleType DoubleArr[size], * DTPtr;
    for ( DTPtr = DoubleArr; DTPtr < DoubleArr + size; ++DTPtr )
        DTPtr->set(1.0 / 2.0, 13); // просто лень было разнообразием заморачиваться...
    
    IntType IntArr[size], * ITPtr;
    for ( ITPtr = IntArr; ITPtr < IntArr + size; ++ITPtr )
        ITPtr->set(69, 73);
    
    for ( int i = 0; i < size; ++i )
        std::cout << "DoubleArray[" << i << "] : " << DoubleArr[i].Val() << "\t" << DoubleArr[i].Cnt() << "\n"
            << "IntArray[" << i << "] : " << IntArr[i].Val() << "\t" << IntArr[i].Cnt() << std::endl;
    
    return 0;
}
Цитата Сообщение от fasked Посмотреть сообщение
На самом деле и в Си так делать не надо
Ну и с этим не поспоришь...
 
Текущее время: 23:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru