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

Можно ли переменную финализировать для подобной задачи? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Переход с Java на С++ http://www.cyberforum.ru/cpp-beginners/thread543354.html
Доброго времени суток, я хотел узнать как можно переписать сервер LineAge II Java на С++. Кратко о сути проблемы (возможно это не проблема просто я не понимаю что и как) Когда мы компилируем...
C++ Почему массив инициализируется с 7-ю элементами?.. Друзья! Требуется помощь:) Задача: вводим денежную сумму в формате $123,321,442 , выбираем из нее цифорки и записываем в переменную типа unsigned long double. Проблема: массив в который... http://www.cyberforum.ru/cpp-beginners/thread543348.html
программа сортировки однонаправленного списка C++
Написать программу сортировки однонаправленного списка записей со следующей структурой: Структура: ФИО,средний балл аттестата, место жительства Сортировка: По среднему баллу аттестата в порядке...
C++ По заданному целому числу определить,является ли оно положительным,отрицательным или нулем.
По заданному целому числу определить,является ли оно положительным,отрицательным или нулем,используя перечисляемые константы и переключатель
C++ Задача на массивы http://www.cyberforum.ru/cpp-beginners/thread543315.html
Надо написать программу , которая делает следующие: сделать 2-а массива, значения которых это 7 рандомных чисел в интервале от 0 до 11. сделать 3 массив, элементы которого это разница елементов 1...
C++ Использование функций. 1. Определить натуральное число не больше заданного n с наибольшей суммой делителей. Использовать функцию вычисления суммы делителей числа. 2. Написать функцию вставки элемента в массив. Все... подробнее

Показать сообщение отдельно
daslex
1271 / 516 / 106
Регистрация: 02.08.2011
Сообщений: 2,677
09.04.2012, 18:20  [ТС]
Цитата Сообщение от dimcoder Посмотреть сообщение
1
C++
1
2
3
4
int a=222;
 char *Buf = new char[a];
//Работаете как с обычным массивом
delete [] Buf; //Не забываем очистить выделенную раннее память
Вот в таком варианте у меня не выходит даже вывести на экран переменную = индекс

C++
1
2
3
4
5
6
7
8
int a=222;
 char *Buf = new char[a];
  cout<<"Buf = "<<Buf<<endl;      //И так пробовал вывести  
  cout<<"Buf = "<<Buf[0]<<endl;  //И так пробовал
  
  Buf[0]=a; //Так как первые две попытки неудачны вышли, решил насильно присвоить в начало массива
  cout<<"Buf[0] = "<<Buf[0]<<endl; //Так тоже не получается
delete [] Buf; //Не забываем очистить выделенную раннее память

Насколько я понимаю при обращении к числу Buf на экран должно выводиться 222. Так как я подразумеваю, что в индекс должно прописаться именно это число.

По варианту с STL мне не подходит. Реализовать нужно как реализовывали древние студенты, которые программировали еще в C++ для DOS

С третьим предложенным вариантом еще не разбирался

Добавлено через 50 минут
Цитата Сообщение от daslex Посмотреть сообщение
от в таком варианте у меня не выходит даже вывести на экран переменную = индекс
всё верно. я разобрался

Добавлено через 30 минут
Только другой вопрос появился.
Если переменная a не финализируется, а периодически меняет значение.

Например при первом вычислении a=10 и я при разработке не знаю на сколько a увеличится.
При этом я не хочу выделять лишнюю память без надобности. И я решил выделить ровно столько, сколько надо для а символов.
Но во время работы программы потребность в количестве символов возросла например резко до 10.000 и я хочу увеличить а, а потом потребность а упала, например до 5 и чтобы как-то разгрузить память и увеличить скорость работы мне нужно снова поменять значение а.

Вот как-то так. Есть ли не сложный вариант элегантного решения рационального использования памяти.

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