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

Массив объектов класса неопределенной длины - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Разобраться с построением графика y=sin(x) http://www.cyberforum.ru/cpp-beginners/thread261613.html
Вообщем получается не график, а чушь какая-то, может кто видит здесь сразу явные ошибки. Будте добры помочь, а то я устал уже исправлять программу. И если можно какие-нибудь советы на будущее)) #include <stdio.h> #include <math.h> #include <graphics.h> #include <conio.h> float fn(float x) { return sin(x);//(sqrt(1-0.1*sin(x)*sin(x))); } int main()
C++ Концепция программы численного интегрирования. Всем привет! У меня вот возникла одна проблема. Написал программу, которая численно решает системы ДУ и рисует их решение на форме. При интегрировании получается большой массив данных с результатами и приходится его передавать из класса интегратор в функцию рисования. Как то это некрасиво получается. Есть какой нибудь другой способ? http://www.cyberforum.ru/cpp-beginners/thread261592.html
Функция, которая возвращает несколько значений C++
как "забрать" у функции несколько значений? допустим: int func( int x, int y) { x+=5; y+=3; } return (x,y)
Учебный проект C++
Хочу решить небольшой учебный проект для того чтобы разобраться с одномерными массивами и который будет покрывать следующие темы: циклы, функции, одномерные массивы. Прошу подкинуть идеи.
C++ Создание структуры "префиксное дерево". Ошибка "Access violation writing location". http://www.cyberforum.ru/cpp-beginners/thread261586.html
Есть структура данных - бор или префиксное дерево. class trie { char value; // символ узла trie** pointers; // ссылки на следующие узлы public: trie(char value = '#'){ this->value = value; this->pointers = new trie*; // выделение памяти FOR(i,0,26) this->pointers = 0; // обнуление
C++ Композиция и иерархия Создать класс кнопка , которая имеет размер. Определить конструкторы и метод доступа. Создать класс окно, содержащее класс кнопка. Дополнительно есть координаты окна. Определить конструкторы и деструктор. Определить public-производный класс окно с кнопкой и меню (указатель на строку). Определить конструкторы, деструкторы и функцию печати. class Vikno{ public: int x; int y; public: подробнее

Показать сообщение отдельно
Ma3a
Эксперт C++
616 / 460 / 31
Регистрация: 28.01.2011
Сообщений: 605
23.03.2011, 23:04     Массив объектов класса неопределенной длины
Звездочка - неуправляемый указатель, то есть те сущности, которые создаются через такие указатели, создаются на неуправляемой куче ,то есть никак не отслеживаются сборщиком мусора, а значит освобождение ресурсов из под этих объектов придется проводить вручную, сборщик мусора ничего с ними сделать не может и не станет из принципа.
^ - управляемая ссылка(впрочем, можно сказать, что и указатель) - с помощью него создаются объекты на управляемой куче, а значит сборщик мусора будет отслеживать такие ссылки и сможет предпринимать в отношении их различные действия, будь то перемещение объектов, освобождение и кучу еще всякого интересного.
В связи с этим, при сообщении управляемого и неуправляемого кода нужно быть очень осторожным при переходе от ^ к * или наоборот, так как стоит помнить, что в любой(гипотетически) момент если есть объект на управляемой куче с привязанной ^ ссылкой, сборщик мусора может что-то сделать с памятью, куда ссылается такая управляемая ссылка и если мы просто ^ ссылку присвоили * указателю, то в любой момент * указатель может стать невалидным и приходится блокировать работу сборщика мусора для данной ссылки через pin_ptr и использовать другие ухищрения.

Добавлено через 1 минуту
И плюс к тому, C++/CLI не всегда поддерживает прямые преобразования между такими указателями, так что случайно перепутать сложно.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru