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

Выделение памяти по известному адресу - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Простая задачка про тернарный оператор http://www.cyberforum.ru/cpp-beginners/thread1231171.html
Переписал с учебника простую задачку, однако на 10 и 12 строке показывает ошибки. Что тут не так? #include<iostream> #include<cmath> using namespace std; int main() { double p,p1,P,q; int n; cout<<"p= "; cin>>p;
C++ Блок схема по коду: вывод отрицательных элементов массива Доброго время суток. Есть функция массива для нахождения отрицательных элементов массива. int otricatel(int mass, int n){ for(int i=0;i<n;i++) if(mass<0){ cout<<mass; } return 0; } По ней нужно сделать блок-схему. Правильно ли я сделал? (не знаю как вставлять правильно картинки) http://pixs.ru/showimage/shemajpg_1413051_13062035.jpg http://www.cyberforum.ru/cpp-beginners/thread1231169.html
C++ Функция, которая определяет, входит ли значение в массив - оценка реализации
привет всем, это снова я велосипедописатель :D :rofl: на сей раз я решил опять заюзать так понравившееся мне шаблоны для написания на сей раз более простой, но довольно полезной (на мой взгляд) функции которая определяет входит ли значение в массив, прошу вашей оценки, так ли все хорошо как мне кажется? :) template <typename T> bool ValueInArray(T Value, T* Array) { int count = 0; bool...
Запись в текстовый файл при изменении переменной C++
К примеру, в программе каждую секунду меняется значение назовем А, как сделать так чтобы при каждом изменении А значение записывалось в текстовик?
C++ Стоит ли начинать изучение программирования с C++ http://www.cyberforum.ru/cpp-beginners/thread1231095.html
Не изучал ни одного языка программирования. Подскажите, стоит ли начинать с C++, или всё же сначала изучить Паскаль? В школе информатики вообще не было. Сейчас, в техникуме за 2 курсе (11 класс), сразу начинаем изучать С++ Borland 4.5 (не Bilder).
C++ Подкиньте материалы для изучения С++ с нуля Подкиньте пожалуйста материала для обучения на языке С++ с нуля. Только, чтоб не мудрино было, а так как будто бабушке объясняют, которая первый раз компьютер видит. Спасибо. подробнее

Показать сообщение отдельно
IIARTEMII
20 / 20 / 3
Регистрация: 14.06.2012
Сообщений: 95
Завершенные тесты: 1
20.07.2014, 23:43     Выделение памяти по известному адресу
Цитата Сообщение от kordax Посмотреть сообщение
Я хочу выделить память n* sizeof(T) по адресу 0x7fff2b98c30c
Возможно на очень низком уровне (я где-то читал реализацию менеджмента памяти на винде, там можно было конкретную область памяти проверить на занятость и, если она свободна, то мы её занимаем).
Но если вы лично не хотите задавать какой-то адрес, а просто выделяете память и хотите в эту память что-то положить, то "placement new" Вам в помощь.
В стандарте, например, сказано, что:
C++
1
2
void* place = operator new(sizeof(Something)); // 1
Something* p = new (place) Something(); // 2
1 - выделяет память и возвращает нам указатель; 2 - размещает конкретный объект в этой области памяти. Это что-то типа использования malloc, но C++ вариант.
Со статической памятью можно аналогично:
C++
1
2
3
char buffer[100];
void *ptr = (void*)buffer;
Something *p = new(ptr) Something();
Тут память освобождать не надо; В этом операторе new очень расплывчатая формулировка использования... данные, которые многие папки программисты приводят по всему интернету, зачастую противоречат друг другу. В стандарте дан тот минимум, который необходим для использования, а дальше берём и тестируем на утечки, на правильность размещения и вообще смотрим механику работы этого оператора в конкретной реализации конкретного компилятора
 
Текущее время: 11:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru