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

шаблонам_ использование памяти и скорость работы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сформулировать из некоторой матрицы верхнетреугольную, нижнетреугольную, диагональную http://www.cyberforum.ru/cpp-beginners/thread735465.html
Сформулировать из некоторой матрицы A(n,n) верхнетреугольную матрицу B(n,n) (все элементы ниже главной диагонали нулевые), нижнетреугольную матрицу C(n,n) (все элементы выше главной диагонали нулевые) и диагональную матрицу D(n,n) (все элементы нули, кроме главной диагонали)
C++ Область определения Записать выражение, зависящее от координат точки X1 и Y1 и принимающее значение TRUE, если точка принадлежит заштрихованной области, и FALSE, если не принадлежит. Вот код программы. Не могу довести ее до конца помогите советом. #include <iostream.h> #include <conio.h> #include <math.h> void main (){ http://www.cyberforum.ru/cpp-beginners/thread735460.html
Динамический массив! (Удалить из массива все элементы, совпадающие с его минимальным значением) C++
Сформировать одномерный массив целых чисел, используя датчик случайных чисел, и распечатать массив. Удалить из массива все элементы, совпадающие с его минимальным значением. Добавить в начало массива 3 элемента, которые равны среднему арифметическому массива. Распечатать полученный массив.
C++ Изменить программу (Вычислить сумму элементов в области)
#include<iostream> #include<locale> #define N 100 using namespace std; void inMas1(int& n,int a) { cout<<"\nВвод элементов матрицы A \n"; for (int i=0; i<n; i++)
C++ Вытащить из массива всевозможные массивы http://www.cyberforum.ru/cpp-beginners/thread735441.html
Здравствуйте. Нужна помощь более смышленых людей. Имеется массив чисел, абсолютно любых и любой размерности. Требуется из этого массива составить массив всех массивов, которых можно получить из первого массива. Например: Дан массив: 5 7 8 9 6 Составляем массив всех массивов: 5 7 5 7 8
C++ сделать рандомные числа /* Задан массив Z(m) целых чисел. Если массив является знакочередующимся, то упорядочить его в порядке возрастания модулей, если нет, то упорядочить его по убыванию. После преобразования удалить из массива все простые числа. Вывести массив до и после преобразований. */ #include <stdio.h> #include <stdlib.h> int compareToRise (const void * a, const void * b) { подробнее

Показать сообщение отдельно
nchameleon
2 / 2 / 1
Регистрация: 06.04.2010
Сообщений: 161

шаблонам_ использование памяти и скорость работы - C++

17.12.2012, 17:49. Просмотров 207. Ответов 0
Метки (Все метки)

Добрый день.
Пишу программу в которой использую множество массивов, и по ходу приходиться вручную писать много однотипного кода по массивам различных данных: int, string и собственных массивов

по идее лучше использовать шаблоны, написав один класс и потом тока подставлять типы объектов
template <class TTT>
public class List_TTT

и больше не мучиться, и все необходимы операции корректно прописывать там

но возникает вопрос
1) вопрос по использованию дополнительной памяти для обслуживания шаблона
когда я это делаю вручную для каждого класса, то я точно знаю сколько памяти выделиться и не более того
а вот при использовании шаблонов увеличивается использование ресурса памяти или он остается такой же как если бы я писал код для каждого класса

2) время работы программы (увеличение времени работы на шаблон)
Используя класс шаблон я постоянно вызываю как минимум функцию класса, а скорее всего будет еще вызываться функция шаблона, не приведет ли это к увеличению времени работы программы из-за постоянно использования шаблона или проще написать отдельный класс для каждого элемента

первоначально я увеличивал размер массивов при добавления каждого элемента и программа считывала массив данных в 100000 строк минут за 10, потом появилась идея прочитать фаил и определить размер массива, выделить память и потом записывать данные туда, скорость конечно же возросла, а для меня скорость и память критична, из-за нехватки ресурсов
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru