Другие языки программирования и технологии
как определить размер динамического массива обектов??
Да, Капитан прав, в таком использовании n всегда известно и размер занятой области очевидно n*sizeof(Test).Если же объекты создаются хаотично, то в классе нужно определить static int count и в конструкторе и деструкторе делать инкремент/ декремент count.
Junnyorr Celestino
Спасибо за ответ, у меня задача, написать приложение для онлайн консультанта, для этого я набросал парсер json и строк, я хочу сделать обьект для обработки и манипуляции-вывода структуры json'a....короче ответа сервера, хотел просто передать обьект по ссылке без размера, так для интереса....
Запомнить n. Это C++, тут в базовом синтаксисе нет лишних структур в помощь тем, кто не помнит, что он делает, как и зачем, все прозрачно. Нужно что-то большее - есть stl.
Вместо выделения памяти используйте шаблонный класс std::vector, там размер известен и при необходимости автоматически расширяется.
#include <vector>
#include <iostream>
using namespace std;
int main() {
vector<int> v; // вектор с целочисленными элементами
int n;
cout << "enter values\n";
cin >> n;
while (n != 0) { // ввод нулевого значения -- признак окончания ввода
v.push_back(n); // добавляем элементы в конец
cin >> n;
}
cout << "\nvalues:";
for (int c = 0; c < v.size(); ++c) cout << ' ' << v[c]; // вывод всех элементов
cout << endl;
return 0;
}
#include <vector>
#include <iostream>
using namespace std;
int main() {
vector<int> v; // вектор с целочисленными элементами
int n;
cout << "enter values\n";
cin >> n;
while (n != 0) { // ввод нулевого значения -- признак окончания ввода
v.push_back(n); // добавляем элементы в конец
cin >> n;
}
cout << "\nvalues:";
for (int c = 0; c < v.size(); ++c) cout << ' ' << v[c]; // вывод всех элементов
cout << endl;
return 0;
}
Junnyorr Celestino
Спасибо за ответ, про вектор я знаю и про массивы и map и все прочее...у меня задача, написать приложение для онлайн консультанта, для этого я набросал парсер json и строк, я хочу сделать обьект для обработки и манипуляции-вывода структуры json'a....
Никак. Динамический массив в Си - это просто указатель на первый элемент этого массива, а размер его определяется тем, сколько памяти под него выделено, и он нигде по умолчанию не запоминается. Можно только самому вручную записать в какую-то переменную это число и обращаться к нему по мере необходимости.
Похожие вопросы
- С++: Как изменять размеры многомерных динамических массивов по ходу выполнения программы?
- вопрос о динамических массивах в fortran
- динамический массив в Visual C++
- Написать программу в VBA арифметической прогрессии в динамическом массиве.
- Как определить размер массива в процессе ввода? C++
- Вычислить сумму нечетных элементов в программа С++ .Через статический и динамический массив! Вот я сам написал проверьте
- С++ Динамический массив
- Динамический массив. help
- Программирование С++ Что такое Динамические массивы?
- пожалуйста, напишите мне программу этого вопроса в C ++.пожалуйста помогите. Создать динамический массив из N чисел.