Задать вопрос
akalend
@akalend
программирую

С++ какой вид памяти использовать лучше и главное почему?

1) Какой вид памяти использовать предпочтительней?
  1. char area1[256];
  2. char * area2 = (char*)malloc( 251);



2) и тоже самое к классам:

можно использовать статический класс а, можно динамический:

что лучше?
  1. MyClass m;
  2. MyClass * m2 = new MyClass(); 



3) А если мы используем эту память в классе?
  1. class MyClass() {
  2.    private:
  3.    char area1[256];
  4.    char * area2; 
  5.  
  6.  
  7.     public:
  8.     MyClass() {
  9.         area2 = (char*)malloc( 251);
  10.      }
  11.     ~MyClass() {
  12.         free(area2);
  13.      }
  14. };


что лучше использовать area1 или area2?


Большая просьба привести обоснование

чем плох malloc/realloc?

как лучше использовать в коде.
  • Вопрос задан
  • 4035 просмотров
Подписаться 5 Оценить Комментировать
Ответ пользователя rPman К ответам на вопрос (5)
@rPman
самое важное отличие — когда вы пользуетесь malloc, то приходится делать приведение типа, в этот момент всю ответственность за корректность приведения берет программист, а значит потенциальное место для ошибок (причем си именно за это и ругают, так как ошибки получаются самые страшные), а если совсем избавиться от указателей (можно оставить ссылочные типы MyClass& a) то тогда за целостностью системы будет следить компилятор и писать 'не туда' вы не сможете.
Ответ написан