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

Указатели и ссылки - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Чтение символов из cin в буфер в цикле http://www.cyberforum.ru/cpp-beginners/thread909706.html
Привет! Нужно считать строки из консоли, но что-то идёт не так. while (true) { Strings.push_back(yury::BasicString()); std::cout << std::endl << "Vvedite stroku: "; std::cin >>...
C++ Напишите про- грамму, которая бы выполняла преобразования значений, выраженных в годах Юпитера, в значения, выраженные в годах Земли. Добрый вечер !Я хотел попросить вас проверить мою задачу ,а то я попал в ступор.Не знаю правильно сделал или нет)Условие таково: Год Юпитера (т.е. время, за которое Юпитер делает один полный... http://www.cyberforum.ru/cpp-beginners/thread909685.html
Задачи на дихотомию C++
Здравствуйте! Возникли некоторые вопросы по дихотомии, а конкретнее, как её применить для решения парочки задач. Имеется 2 задачи: 1)Курс лечебного голодания длился 21 день. В результате...
Вычислить и вывести на экран значение функции C++
Вычислить и вывести на экран значение функции F(x) на отрезке с шагом h=0.1 и точностью e. Результат работы программы представить в виде следующей таблицы:
C++ Текстовый редактор http://www.cyberforum.ru/cpp-beginners/thread909673.html
подскажите, как создать текстовое поле на C++ для текстового редактора среда netbeans у меня есть минимальное приложение WxWidgets. Буду очень благодарна за помощь!!! #include <wx/wx.h> ...
C++ оператор switch КАк сделать чтобы при выборе неправильного ответа во втрой switch программа не в ходила int main(){ char v1; cout <<"Pervui vopros\n"; cout<<"Kakoi naimenshui tip dannuh v C?\n"; cout... подробнее

Показать сообщение отдельно
BumerangSP
4286 / 1408 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
23.06.2013, 00:18
Переменная x создается компилятором на стеке и уничтожается по выходу из блока. Это может быть закрывающаяся скобка функции, либо конструкция вида
C++
1
2
{
}
Звездочка применима к указателям, да и если бы Вы так написали с cout, то это было бы разыменование указателя, т.е. вывелось бы само значение в ячейке памяти. Но в данном случае к стековой переменной x звездочка неприменима.

По второму:
C++
1
int *x = new int;
C помощью new выделяем память в куче и указателю (теперь уже x) передаем адрес выделенной памяти. По этому адресу можно записать значение, например.
создавать другие переменные с помощью указателей
Это не совсем ясно для меня. Вы можете либо присваивать адрес только выделенного участка памяти (с помощью new или аналогов), либо просто адрес переменной, которая когда-то раньше была создана, либо c указателя:
C++
1
2
3
int x = 10;
int *p1 = &x;
int *p2 = p1; // оба указывают на x
Добавлено через 2 минуты
Можно конечно на выделять кучу участков памяти, присваивая лишь одному указателю все адреса по очереди. Но так каждый раз присваивая очередной адрес, мы будем терять предыдущие (если конечно память не освобождать), а это утечка.

C++
1
2
3
int *p1 = new int; //утерян
    p1 = new int; // утерян
    p1 = new int;
2
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru