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

Непрерывное выделение памяти - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ считать строку чисел в массив http://www.cyberforum.ru/cpp-beginners/thread822936.html
#include <sstream> #include <string> #include <iostream> using std::cout; using std::string; using std::istringstream; using std::endl; #define TICK 12 #define RATE 7 #define iRATE int i=0; i<RATE; i++
C++ Три числа в порядке возрастания Только начинаю программировать в Borland C++. Нужно три введенных числа, упорядочить по возрастанию. #include <iostream.h> #include <conio.h> int main() { int a,b,c; cout<< "vvedite tri chisla= ";endl; cin>>a; http://www.cyberforum.ru/cpp-beginners/thread822935.html
Вычислить первый целый корень из последовательности C++
Доброе время суток! Задали задачку - написать программу, которая из последовательности чисел выбирает первое число, корень которого - целый. Например, последовательность чисел от 30 до 80 первое число -36. Нужно сделать через цикл for. Мой вариант кода: #include <iostream> #include <cmath> using namespace std; int main() { int a, b,i; double drob, cel, j; cout << "Enter:" ; ...
Рекурсия. Напечатать в обратном порядке заданный текст C++
Помогите плз. Нужно напечатать в обратном порядке заданный текст (за текстом следует точка), используя механизм рекурсии и через цикл.
C++ сортировка массивов http://www.cyberforum.ru/cpp-beginners/thread822927.html
Дан массив чисел произвольной длины. Отсортировать массив вставкой и быстрой сортировками. Определить число сравнений и перемещений (перестановок с одного места на другое) элементов в процессе выполнения программы. Для тестирования программы заполнять массив значениями тремя спосо-бами: по возрастанию, по убыванию, случайным образом. Каждый метод сортировки, каждый способ заполнения массивов...
C++ Алгоритм Прима Здравствуйте! Я пишу программу для нахождения минимального каркаса в графе. Делаю я это с помощью алгоритма Прима. Граф задан матрицей смежности. Алгоритм, честно скажу взял с нета и немного переделал под свой граф, но он не работает, подскажите, где я ошибся. Спасибо!!! bool used; int min_e,sel_e; min_e=0; for(int i=0;i<N;++i) { int v=-1; for (int j=0; j<N; ++j)... подробнее

Показать сообщение отдельно
ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
31.03.2013, 16:34  [ТС]     Непрерывное выделение памяти
я так сделал как бы по примеру из ссылки про placement New
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
37
38
//klass Char_vec
#include <iostream>
using std::cout;
using std::endl;
#include <cstdlib>
using std::exit;
 
class Char_vec
{
    int sz;
    char element[1];
public:
    Char_vec(int)
    {}
     
    static Char_vec* new_char_vec(int s)
    {
        cout <<"my tyt "<<s<<' '<<endl;
        Char_vec* placementMemory = static_cast<Char_vec*>(operator new[] (s * sizeof(Char_vec)));
        for (int i = 0; i < s; i++)
        {
          new (placementMemory + i)Char_vec(rand()); //здесь память для объекта не выделяется, но инициализируется
        }
         
        return placementMemory;
    }
     
    char& operator[](int i){return element[i];}
};
 
int main()
{
    Char_vec* a=Char_vec::new_char_vec(30);//ob6ekt Char_vec как бы из 30 элементов
    (*a)[1]='3';
    cout <<(*a)[1]<<endl;
     
    return 0;
}
Добавлено через 2 минуты
Тоже самое токо я синтаксис в своей программе не сильно понимаю, так сделал по примеру без понятия.

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