Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.78/58: Рейтинг темы: голосов - 58, средняя оценка - 4.78
 Аватар для Zeka13
4 / 8 / 0
Регистрация: 22.03.2012
Сообщений: 135

Динамический массив как глобальная переменная

22.03.2012, 14:35. Показов 12477. Ответов 35
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток, даже с google никак не смогу разобраться со следующей задачей:
Хочу объявить матрицу(matrix допустим) глобальной переменной в классе, её размерность x,y тоже глобальные переменные этого класса, которые задаются через слот(функцию) этого класса, тобишь при компиляции размерность массива matrix ещё не известна.

Как можно объявить matrix глобальным?

Заранее огромное спасибо!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.03.2012, 14:35
Ответы с готовыми решениями:

Глобальная переменная определена в хидере. Компилятор ругается на то, что переменная переопределена несколько раз
Исходники: /* main.cpp */ #include "hider.h" int main(void) { return 0; } /* foo.cpp */

Глобальная переменная(не пойму как точно сделать)
Привет.. Делаю менюшку... Ну как в .... Блокноте "Файл, Правка, Справка". Меню выпадающее, тоесть нажимаем на файл - там открыть,...

Глобальная переменная
Никогда с таким не сталкивался... В общем: Надо обьявить глобальный масив в одной функции, но чтобы его видели все другие функции. Вне...

35
 Аватар для Zeka13
4 / 8 / 0
Регистрация: 22.03.2012
Сообщений: 135
22.03.2012, 18:29  [ТС]
Студворк — интернет-сервис помощи студентам
"x и y не инициализированы" не правда

задание:
нужно, чтобы этот проект скомпилировался, причём все три функции per() srav() и maincount() отработали с массивом a, как в проекте
0
 Аватар для soon
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
22.03.2012, 18:57
Еще раз. a - не массив. Это функция.

Насчет не инициализированы - погорячился, не увидел ui -> XSpinBox -> value().

Глобальная переменная - чушь. Засуньте ее в класс, сделайте статичной, что угодно, но не оставляйте просто так. За счет того, что у вас values.h включается раза 2 минимум происходит множественное объявление **mass.
1
 Аватар для Zeka13
4 / 8 / 0
Регистрация: 22.03.2012
Сообщений: 135
22.03.2012, 19:19  [ТС]
пардон за "не правда", я имел ввиду "неправда"

мне такой код сюда скинули, я же говорю, что не понимаю как реализовать задачу
0
 Аватар для soon
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
22.03.2012, 20:17
Zeka13, тут не подойдут ни глобальные, ни статические в классе переменные. У меня получилось сократить максимум до одного множественного определения, путем уделения ненужных файлов + запихивания все в два хедера.
1
 Аватар для Zeka13
4 / 8 / 0
Регистрация: 22.03.2012
Сообщений: 135
22.03.2012, 20:45  [ТС]
вот компилирующийся проект
в Values.h исчерпывающий комментарий
Вложения
Тип файла: zip miniplotNEW.zip (4.3 Кб, 7 просмотров)
0
 Аватар для soon
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
22.03.2012, 21:23
Zeka13, дак вы же хотели глобальный. Если не нужен глобальный, то делаете указатель на указатель, затем, если в конструторе известны x и y(мельком глянул) выделяете в нем память, в деструкторе освобождаете. Если не известны, то по аналогии с примером Infinity3000
1
 Аватар для Zeka13
4 / 8 / 0
Регистрация: 22.03.2012
Сообщений: 135
22.03.2012, 21:41  [ТС]
вы же видели, что у меня не получилось по аналогии
0
 Аватар для soon
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
22.03.2012, 22:16
Так хотели?
Вложения
Тип файла: zip miniplotNEW.zip (7.1 Кб, 12 просмотров)
1
 Аватар для Zeka13
4 / 8 / 0
Регистрация: 22.03.2012
Сообщений: 135
23.03.2012, 09:46  [ТС]
спасибо огромное, буду разбираться!
0
 Аватар для Zeka13
4 / 8 / 0
Регистрация: 22.03.2012
Сообщений: 135
24.03.2012, 13:54  [ТС]
немного поправил, посмотрите пожалуйста
было
http://paste.ubuntu.com/897593/
стало
http://paste.ubuntu.com/897594/
0
 Аватар для soon
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
24.03.2012, 14:06
Zeka13, во втором варианте, если не будет вызываться setValues(), то будет освобождение памяти по не валидному указателю. Имхо, не есть хорошо, но если гарантируется, что setValues() вызовется, то не страшно. А так вроде все то-же самое. А какой вопрос был?
1
 Аватар для Zeka13
4 / 8 / 0
Регистрация: 22.03.2012
Сообщений: 135
24.03.2012, 14:12  [ТС]
вы исчерпывающе ответили на него, ещё раз огромное спасибо
0
 Аватар для soon
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
24.03.2012, 14:12
Ах да, если будет повторно вызвана функция setValues(), то будет снова выделена память. Я в ui не вникал, так что если где-то есть вероятность повторного вызова setValues(), то будут неприятности.
0
 Аватар для Zeka13
4 / 8 / 0
Регистрация: 22.03.2012
Сообщений: 135
24.03.2012, 14:22  [ТС]
оу, об этом я не подумал, спасибо, перестрахуюсь тогда!
0
 Аватар для Zeka13
4 / 8 / 0
Регистрация: 22.03.2012
Сообщений: 135
13.05.2012, 21:08  [ТС]
а почему delete[] a; только в деструкторе?
0
 Аватар для Zeka13
4 / 8 / 0
Регистрация: 22.03.2012
Сообщений: 135
14.05.2012, 11:15  [ТС]
а ещё программа вылетает, если завести второй такой массив!
Вложения
Тип файла: zip miniproj.zip (4.5 Кб, 5 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.05.2012, 11:15

Глобальная переменная
Есть двумерный символьный массив ClusterBuf объявленный глобально. В него,в ходе выполнения программы, будет считываться содержимое...

Глобальная переменная
#include "stdafx.h" #include "locale" #include "iostream" #include "conio.h" using namespace::std; int count = -1; void swap();...

Глобальная переменная
Надо сделать глобальную переменную которая будет видна во всех файлах .cpp Непонятно где ее нужно инициализировать и присваивать...

Глобальная переменная из другой dll
Имеется сторонняя dll без исходников. Мне нужно в своей программе получить значение глобальной переменной из той длл. Через IDA нашел,...

Глобальная переменная локальной видимости
Я где-то читал, что если объявить переменную вне функций, а затем определить ее в функции, она будет глобальной, то есть время её жизни...


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

Или воспользуйтесь поиском по форуму:
36
Ответ Создать тему
Новые блоги и статьи
Запрет пометки на удаление и отмены проведения
Maks 16.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "ПутевойЛист" разработанного в КА2. Задача: запретить помечать на удаление и отменять проведения путевого листа при условии, если он сдан. . .
Как надо было делать правильно - вообще не слушать ИИ, его дело - текст.
Hrethgir 15.07.2026
А вообще надо было делать не так, чтобы не исправлять ошибку https:/ / www. cyberforum. ru/ blogs/ 223907/ 10996. html , правильно было : удалил кнопку, а потом добавил её. Всё это стресс конечно. Почему?. . .
Знаете, от чего появляется стресс?
kumehtar 15.07.2026
Стресс появляется оттого, что вы, зная как поступить правильно, делаете наоборот. Ларри Уингет
Нас бьют, а мы крепчаем? Какая чушь!
kumehtar 15.07.2026
Вот это вот бытующее мнение, что человек меняется только под действием проблем, всегда считал вредоносным. Поверь, от проблем у людей появляются не изменения, а нервное расстройство и ПТСР. А. . .
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров В текущей версии модели успешно реализован ключевой механизм. . .
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям Реализованные компоненты: Механизм закисления почвы через протонную помпу Конкуренция между типами микориз pH как триггер сукцессии C/ P соотношение. . .
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
Решил проблему с ошибкой пагинации сообщений с сервера на алгоритме обхода дерева "Эстафета хвоста".
Hrethgir 12.07.2026
Проблема была в том, что удалялась именно новая кнопка, а не старая. Ни один ИИ не обнаружил это, а сам я смог только когда с работой стало попроще и когда заставил работать будущее автономное. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru