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

Работа в неуправляемой памяти "куче" - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Программа для изучения языка C++ http://www.cyberforum.ru/cpp-beginners/thread861686.html
Здравствуйте. Дело в том, что мой знакомый нашел программу для изучения С++(не пособие а программу exe). Я сам знаю, что лучше читать книги Страуструпа, но хочется знать, что он изучает, чтобы не отставать. Не подскажете, что за программа, а то сам не могу найти?
C++ Функция ввода Вот какой вопрос у меня появился. Вводится число с клавиатуры типа double. Как узнать была ли введена дробная часть числа? http://www.cyberforum.ru/cpp-beginners/thread861676.html
C++ Классы: написать класс часов
Требуется написать класс часов. Возник вопрос с функцией ввода. Как лучше её писать: 1.считывать любой ввод и при неверном вводу сбрасывать время в значения по умолчанию 2.при неверно вводе выводить запрос на новый ввод
C++ Заполнить массив случайными числами
Помогите, пожалуйста, как заполнить массив случайными числами в диапазоне от -20 до 20.
C++ Нужны блок схема и комментарии к программе http://www.cyberforum.ru/cpp-beginners/thread861651.html
помогите да кто сможет написать блок схему к данной программе......и комент. к некоторым строкам#include<iostream.h> #include<stdio.h> #include<stdlib.h> #include<conio.h> #include<fstream.h> struct nomer { char kolvo; // -1 zabron. 0 svoboden. 1 pr. 2 pr. char pol; // 1 - muzj. 2 - zjenshina char podsel; // pravo podselenija (1 - da 2- net)
C++ Где прочитать про Ws2_32.lib Не могу найти ничего про Ws2_32.lib. Ткните носом пожалуйста где есть документация по Ws2_32.lib или хотя бы написано что да как. Надо просто сделать клиент-серверную программу. подробнее

Показать сообщение отдельно
gomodril
 Аватар для gomodril
6 / 6 / 0
Регистрация: 10.10.2012
Сообщений: 102
11.05.2013, 18:03     Работа в неуправляемой памяти "куче"
При изучении С++ возник вопрос - используя vector из STL с аллокатором по умолчанию, какие либо действия по очистке памяти предпринимать не нужно? Ведь аллокатор по умолчанию выделяет и высвобождает память сам.
Т.е. если использовать следующий код, то аллокатор используется по умолчанию (не пользовательский) сам все сделает по выделению и высвобождению памяти:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include <vector>
 
template <class T>
class C2DArray
{
private:
  unsigned size_x;
  unsigned size_y;
  std::vector<T> data;
 
public:
  C2DArray() {}
 
  C2DArray(unsigned new_size_x, unsigned new_size_y)
  {
    resize(new_size_x, new_size_y);
  }
 
  void resize(unsigned new_size_x, unsigned new_size_y)
  {
    data.resize(new_size_x*new_size_y);
    size_x = new_size_x;
    size_y = new_size_y;
  }
 
  T &operator()(unsigned x, unsigned y)
  {
    //Здесь можно assertы поставить...
    return data[y*size_x + x];
  }
 
  const T &operator()(unsigned x, unsigned y) const
  {
    return data[y*size_x + x];
  }
}
и непосредственно сама реализация:
C++
1
2
3
4
5
6
7
8
  C2DArray<int> c;
  c.resize(10, 20);
  c(9, 19) = 10;
 
или 
 
  C2DArray<int> c(10, 20);
  c(9, 19) = 10;
Я правильно понимаю или нет? Спрашиваю т.к. четкого ответа так и не нашел в Интернете.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 07:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru