Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Размер динамической переменной / 9 сообщений из 9, страница 1 из 1
02.04.2006, 13:44
    #33639620
dimadv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размер динамической переменной
Функция sizeof()-возвращает размер переменной в байтах
Вопрос как узнать колличество элементов динамического массива?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
float **koef;
counts= 2 ;
koef= new float*[counts];
myfunction(koef)
{
 cout<<"Размер массива="<<sizeof(koef)<<endl; //Размер массива=4
}

...
Рейтинг: 0 / 0
02.04.2006, 14:18
    #33639639
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размер динамической переменной
Ты знал его, когда создавал динамический массив (его надо передать в operator new). Вот и сохрани его , если он тебе нужен, где-нибудь.
...
Рейтинг: 0 / 0
02.04.2006, 14:26
    #33639649
dimadv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размер динамической переменной
Дело в том что в каждой строке массива разное колличество столбцов, если можно так выразиться. И хранить целый массив размеров не очень то приятно, да и путаница возникает, нельзя ли как нибудь обойтись?

здесь ничего подходящего тоже нет, хотя по теме
/topic/60332
...
Рейтинг: 0 / 0
02.04.2006, 14:51
    #33639663
roman10
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размер динамической переменной
dimadvДело в том что в каждой строке массива разное колличество столбцов, если можно так выразиться. И хранить целый массив размеров не очень то приятно, да и путаница возникает, нельзя ли как нибудь обойтись?
Используйте std::vector. Он будет помнить размер массива за вас.
...
Рейтинг: 0 / 0
02.04.2006, 14:59
    #33639668
dimadv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размер динамической переменной
Альтернативой может быть использование класса Vector.
...
Рейтинг: 0 / 0
02.04.2006, 15:18
    #33639679
dimadv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размер динамической переменной
Спасибо, разобрался
Вот пример.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
#include <iostream>
#include <vector>
using namespace std;
int main ()
{
    vector<int> v;
    int i =  0 ;
    while ( i++ <  10  )
    {
        int k;
        cin >> k;
        v.push_back ( k );
    }
    for ( vector<int>::iterator it = v.begin () ; it != v.end (); ++it )
        cout << *it << endl;
    return  0 ;
} 
...
Рейтинг: 0 / 0
02.04.2006, 18:35
    #33639792
roman10
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размер динамической переменной
Только перед циклом неплохо бы сразу сделать v.reserve(10), чтобы избежать ненужных перевыделений памяти.
...
Рейтинг: 0 / 0
02.04.2006, 18:48
    #33639800
dimadv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размер динамической переменной
roman10Только перед циклом неплохо бы сразу сделать v.reserve(10), чтобы избежать ненужных перевыделений памяти.
Для чего, что делает это метод?

с одномерными векторами разобрался, а с двумерными никак.
Вопрос: Как выделять память для каждой строки?

vector < vector <int> > n(10);
а как дальше??
...
Рейтинг: 0 / 0
03.04.2006, 10:21
    #33640358
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размер динамической переменной
dimadvДело в том что в каждой строке массива разное колличество столбцов, если можно так выразиться. И хранить целый массив размеров не очень то приятно, да и путаница возникает, нельзя ли как нибудь обойтись?

Нельзя. Придется хранить.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Размер динамической переменной / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]