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

работа с нагруженными деревьями в С++ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Выделение текста http://www.cyberforum.ru/cpp-beginners/thread186179.html
Я считываю текст с файла с помощью потоков. Как выделить другим цветом самое длинное слово в этом тексте?
C++ Деление больших чисел Здравствуйте, уважаемые форумчане. Необходимо разделить большое чило на большое число. Эти числа хранятся в массиве ( каждый элемент - одна цифра числа). Подскажите пожалуйста алгоритм деления,... http://www.cyberforum.ru/cpp-beginners/thread186166.html
Протестировать программу C++
У кого есть возможность, протестируйте ,пожалуйста, программу (на примере) и вышлите результат, а то дома не на чем, а завтра сдача в универе. Заранее благодарен.
Как сделать чтобы при создании массива его имя менялось? C++
Вот есть такая функция: void UniqueCollection (int x1, int y1, int x2, int y2) { int Values = 4; int *Collection; Collection = new int ; Collection = x1; Collection = y1; Collection ...
C++ Создания разных бесконечных диапазонов http://www.cyberforum.ru/cpp-beginners/thread186124.html
Добрый день! Вот есть маленькая задача, вполне решаемая, но я так и не смог это реализовать. Задача: Дано вещественное число X. Нужно найти значения f(x) при условии что: если x<0 ....
C++ Строки Даны натуральное число n, символы S1,..,Sn. Известно, что среди данных символов есть хотя бы один, отличный от пробела. Требуется преобразовать последовательность S1,..,Sn следующим образом.... подробнее

Показать сообщение отдельно
Kuzia domovenok
1891 / 1746 / 118
Регистрация: 25.03.2012
Сообщений: 5,926
Записей в блоге: 1
15.04.2012, 20:30
Цитата Сообщение от Toshkarik Посмотреть сообщение
Верно, но он ведь, вроде, передает в качестве параметров указатель, а не объект.
Ещё раз повторю. Указатель это такой же параметр, передаваемый по значению. В ситуации, когда адрес куда указывает указатель не изменяется, мы можем по этому адресу менять данные и они действительно сохранятся после завершения функции.
-Эй, вот тебе параметр node* root, он равен root=0xcdfe968a по этому адресу расположена структура node, запиши в неё что-нибудь полезное

-Хорошо, root->llink=new node. возвращаюсь.

-Ну-ка, что у нас появилось по адресу 0xcdfe968a? О! изменился llink!
Но правило неизменно, сам указатель в отличие от этих данных так же является временным параметром, живущим только в области функции.

То что этим параметром пользуются для возврата данных из функции это верно. Мы можем сказать "Эй, вот тебе параметр node* root, он равен root=0xcdfe968a по этому адресу расположена структура node, запиши в неё что-нибудь полезное"

И он действительно записывает. Причём он сам не может изменить этот адрес (то есть конечно может, но после выхода из функции окажется, что он работал лишь с копией). Выглядеть это будет так.
"-Эй, вот тебе параметр node* root, он равен root=0x00000 по этому адресу расположена структура node, запиши в неё что-нибудь полезное

-Иди к чёрту, я выделяю память по адресу root=new node=0xcdfe8888 и записываю все полезности туда. Всё return, возвращаюсь.

-О! Возвратился, ну-ка что у нас по адресу 0x00000 появилось?? Ой всё ещё нуль? Это точно тот адрес, что я передавал??? Вроде да!"
Цитата Сообщение от Toshkarik Посмотреть сообщение
Добавлено через 1 минуту
И еще - я вот опять не понимаю, вы пишете классы на С++, зачем использовать функции Си? Зачем смешивать два языка?
Чтоб меньше ненавистных мною крестопроблем было
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru