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

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

Войти
Регистрация
Восстановить пароль
 
taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
#1

А можно ли темплейту передать число? - C++

12.03.2012, 12:15. Просмотров 325. Ответов 3
Метки нет (Все метки)

С базовыми типами темплейтов всё понятно. А число можно? И как7
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.03.2012, 12:15
Здравствуйте! Я подобрал для вас темы с ответами на вопрос А можно ли темплейту передать число? (C++):

Передать в функцию целое число. Функция заменяет его на ближайшее простое число, которое больше или меньше исходного. Вернуться в main( ) и распечатат - C++
Передать в функцию целое число. Функция заменяет его на ближайшее простое число, которое больше или меньше исходного. Вернуться в main( ) и...

Можно ли передать в функциию тип? - C++
Подскажите пожалуйста возможно ли как-то передать тип в функцию, первое что приходит в голову это шаблоны, но не знаю как в данном случае...

Можно ли передать в функцию массив произвольного размера ? - C++
Хочу создать функцию для детекта количества элементов в массиве sizeof(array)/sizeof(array); и надо чтобы функция принимала...

Можно ли передать в функцию указатель на перегруженный оператор? - C++
Снова здравствуйте) Можно ли передать в функцию указатель на перегруженный оператор и как? Что-то типа: class f { ... ...

Какими способами можно передать многомерные массивы в функцию? - C++
Возник вопрос, какими способами можно передать многомерные массивы в функцию??? Если не сложно, приведите парочку примеров :)

Можно ли значение вектора A передать вектору B через swap? - C++
А возможно ли такое сделать через swap: значение вектора A передать вектору B, при этом у вектора A должно остаться свое значение. ...

3
ForEveR
В астрале
Эксперт С++
7978 / 4737 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
12.03.2012, 12:21 #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
25
26
27
#include <iostream>
#include <typeinfo>
 
template<class T, int N>
class true_typedef
{
public:
   true_typedef(const T& val = T()):value(val)
   {
   }
   const T get() const { return value; }
private:
   T value;
};
 
template<class T, class T2, int N1, int N2>
bool operator == (const true_typedef<T, N1>& lhs, const true_typedef<T2, N2>& rhs)
{
   return typeid(T) == typeid(T2) && N1 == N2 && lhs.get() == rhs.get();
}
 
int main()
{
    std::cout << (true_typedef<int, 1>() == true_typedef<int, 2>()) << std::endl;
    std::cout << (true_typedef<int, 2>() == true_typedef<int, 1>()) << std::endl;
    std::cout << (true_typedef<int, 3>() == true_typedef<int, 3>()) << std::endl;
}
http://liveworkspace.org/code/c6d713...8a7775a8cf6e59
0
taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
16.03.2012, 07:40  [ТС] #3
Цитата Сообщение от ForEveR Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
template<class T, int N>
class true_typedef
{
public:
* *true_typedef(const T& val = T()):value(val)
* *{
* *}
* *const T get() const { return value; }
private:
* *T value;
};
А использовать так:
C++
1
d3true_typedef <double, 3>
?
0
fasked
Эксперт С++
4942 / 2522 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
16.03.2012, 08:07 #4
taras atavin, тут идеальным примером будет класс статического массива:
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
#include <iostream>
#include <stdexcept>
 
template <typename T, size_t size_>
class Array
{
public:
    T& operator[](size_t i)
    {
        if (i >= size_)
            throw std::out_of_range("");
 
        return data[i];
    }
 
    size_t size() const {
        return size_;
    }
 
private:
    T data[size_];
};
 
int main()
{
    Array<int, 5> array;
 
    for (int i = 0; i < array.size(); ++i)
        array[i] = i + 1;
 
    for (int i = 0; i < array.size(); ++i)
        std::cout << array[i] << " ";
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.03.2012, 08:07
Привет! Вот еще темы с ответами:

Можно ли в качестве параметра функции передать другую функцию? - C++
В ниже представленной программе функция returnMax находит в массиве максимальный элемент и возвращает его. returnMin - делает тоже самое,...

Как передать 16-ричное число в com-порт? - C++
привет всем! торможу... как передать 16-ричное число в com-порт? нужно передать 0x11 и 0x22 в com-порт, а порт принимает char*. вот...

А можно в функцию, или перегруженный оператор передать ссылку на копию? - C++
И какой надо написать прототип?

Можно ли передать указатель на функцию как параметр другой функции? - C++
В общем, вопрос. Можно ли, допустим ... int fun1(int x) { ... ... ... return x*1000; }


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

Или воспользуйтесь поиском по форуму:
4
Yandex
Объявления
16.03.2012, 08:07
Ответ Создать тему
Опции темы

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