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

Конструктор с выделением памяти - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ С++ вроде простые проги http://www.cyberforum.ru/cpp-beginners/thread135385.html
Привет Всем народ очень нужна помощь до четверга написать вот такие программы могу только на паскале а вот на С++ не могу( 3 проги 1. Написать программу, которая проверяет, является ли введенная с клавиатуры строка шестнадцатеричным числом. 2. Написать программу, которая проверяет, представляют ли элементы введенного с клавиатуры массива возрастающую последовательность. 3. Написать...
C++ с++ цикли Помогите решить задачки буду очень благодарен я уверен есть ище добрие люди( Задача 3. Найти первых 10 натуральных чисел, нацело делятся на 19 и находятся в интервале, левая граница которого 100. Задача 4. Дано натуральные m, n. Получить сумму m последних цифр числа n. http://www.cyberforum.ru/cpp-beginners/thread135366.html
C++ Вращение отрезка
Осуществить вращение отрезка вокруг центра не совпадающего с центром на СИ
C++ сортировка фамилий
я не могу отсортировать список фамилий по алфавиту и проверить написание большой буквы вначале..подскажите пожалуйста..ато завалю сессию Добавлено через 21 минуту помогите пожалуйста ктонибудь,люди добрые
C++ Функции (Расчет определителя матрицы) http://www.cyberforum.ru/cpp-beginners/thread135343.html
Задание: Ввести с клавиатуры матрицу 4*4 и подсчитать ее определитель. Процедуру подсчета определителя оформить в виде функции. во я написал программу, но она не правельно работает, кто может подскажите в чем ошибка: #include <stdio.h> #include <conio.h> #include <math.h> #include <alloc.h> float mat(float **a, int n) { int i,j; float s,d,f,g;
C++ В прямоугольной матрице подсчитать количество столбцов, содержащих отрицательные элементы. Добрый день, помогите пожалуйста с таким заданием : В прямоугольной матрице подсчитать количество столбцов, содержащих отрицательные элементы. подробнее

Показать сообщение отдельно
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
25.05.2010, 17:53     Конструктор с выделением памяти
Среди всех данных есть указатель, память для которого выделяется в конструкторе, необходимый размер передается в параметрах конструктора. Так как размер памяти в процессе использования может изменяться, планирую сделать некоторое резервирование, то есть вместо указанного размера (если он слишком мал или равен нулю) применять константные значения. Например так:

Собственно данные:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
private: // data
 
   // default size
   static const size_t m_defsize_x = 10;
   static const size_t m_defsize_y = 10;
   static const size_t m_defsize_z = 10;
 
   // current size
   size_t m_size_x;
   size_t m_size_y;
   size_t m_size_z;
 
   // 3d pointer 
   T *** m_ptr;
И конструктор:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
   array3d(uint x = 0, uint y = 0, uint z = 0) : m_size_x(x), m_size_y(y), m_size_z(z)
   {
      if(x < m_defsize_x)
         x = m_defsize_x;
      if(y < m_defsize_y)
         y = m_defsize_y;
      if(z < m_defsize_z)
         z = m_defsize_z;
 
      m_ptr = new T**[x];
      for(uint i = 0; i < x; ++i)
      {
         m_ptr[i] = new T*[y];
 
         for(uint j = 0; j < y; ++j)
            m_ptr[i][j] = new T[z];
      }
   }
Так вот часть с проверкой размеров мне почему-то не нравится, интуитивно чувствую, что данную задумку можно реализовать красивее что ли
Может вообще не такого типа проверку делать, а всегда резервировать большее количество памяти. В общем готов выслушать ваши предложения...

Не по теме:

зы. Естественно задача не боевая, а просто ради интересу и новых знаний.

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