Форум программистов, компьютерный форум, киберфорум
Наши страницы

Удаление вектора из области динамической памяти. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Обработка событий (events) в Visual Studio http://www.cyberforum.ru/cpp-beginners/thread332454.html
У меня есть два события, они выполняют одинаковые действия, можно ли как то сделать вызов одного события в другом?
C++ Разряженная матрица Добрый вечер, можете посмотреть код программы на неточности , тупости и тп. спс зарание за помощь. задание - компактный вывод разряженной матрицы . разряженная - это матрица в которой... http://www.cyberforum.ru/cpp-beginners/thread332444.html
Сложение в матрице C++
Нужно сложить в матрице отдельно каждый столбец и каждую строчку как я понял что то на подобе функции математической суммы в экселе к примеру 1 2 3 4 5 15 2 4 6 3 3 18 3 6 9...
C++ Файл о студентах
Здравствуйте, форумчане! Дана такая задача: Создать файл, содержащий сведения о том, какие из 5 предложенных дисциплин желает слушать студент. Структура записи: фамилия студента; № группы;...
C++ НУЖНА БЛОК-СХЕМА К ПРОГРАММЕ http://www.cyberforum.ru/cpp-beginners/thread332422.html
НУЖНА БЛОК-СХЕМА К ПРОГРАММЕ
C++ Формула для нахождения третей вершыны равностороннего триугольника помогите пожалуста найти формулу для нахождения третей вершыны в декартовой системе координат тоесть известно к примеру x1,y1, и x2,y2 и найти x3,y3 Прекращайте дублировать темы! подробнее

Показать сообщение отдельно
easybudda
Модератор
Эксперт CЭксперт С++
9695 / 5645 / 963
Регистрация: 25.07.2009
Сообщений: 10,848
13.07.2011, 15:06
chiralastra, либо создавать копию массива и возвращать на неё указатель, тогда очищать память прийдётся самостоятельно
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class MyClass {
//...
    int * GetArray(){
        int * ret = new int[2];
        ret[0] = arr[0];
        ret[1] = arr[1];
        return ret;
    }
};
 
// где-то в программе
MyClass mc;
int * ptr = mc.GetArray();
//...
delete [] ptr;
либо передавать функции буфер, достаточный для хранения массива
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class MyClass {
//...
    void GetArray(int * buf){
        buf[0] = arr[0];
        buf[1] = arr[1];
    }
};
 
// где-то в программе
MyClass mc;
int * ptr = new int [2];
mc.GetArray(ptr);
//...
delete [] ptr;
Но это очень грубо, в реале нужно ещё много всяких танцев с бубном, чтобы это можно было назвать классом... Кстати, копировать массивы без крайней на то необходимости - вообще не очень хорошая затея. Ладно, когда там два элемента... А в общем случае лучше всю конструкцию пересмотреть. Опять же, не зная, зачем Вам это, только гадать приходится, как лучше / как хуже...
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru