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

Что означает *& - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Глобальная переменная определена в хидере. Компилятор ругается на то, что переменная переопределена несколько раз http://www.cyberforum.ru/cpp-beginners/thread1139898.html
Исходники: /* main.cpp */ #include "hider.h" int main(void) { return 0; } /* foo.cpp */
C++ Идентификатор не определен Срочно нужно сделать. Не пойму, в чем ошибка, пишет, что z не является членом parallelepiped и что идентификатор z не определен. Проходим наследование классов. Заранее спасибо! #include "stdafx.h" #include <iostream> #include <cmath> using namespace std; http://www.cyberforum.ru/cpp-beginners/thread1139884.html
C++ Таймер из Delphi в С++
Прошу помощи в перекладке кода таймера из Делфи на Си++, ну или хотя бы подсказки, чем заменить Ttime procedure TForm1.tmr1Timer(Sender: TObject); var Temp : TTime; begin Temp := TimeVal - Time; if Temp <= 0 then begin Tmr1.Enabled := False;
Быстрая сортировка. Разбить массив на 2 части левую сортировать по убыванию правую по возрастанию C++
Товарищи помогите пожалуйста. Началась новая тема рекурсия не совсем въехал. Задача следующая => Дан массив из 20 целых чисел со значениями от 1 до 20 по порядку без повторов. Необходимо: -написать функцию, разбрасывающую элементы массива произвольным образом; -создать случайное число из того же диапазона и найти позицию этого случайного числа в массиве; -отсортировать элементы массива,...
C++ Односвязный список (реализация без классов) http://www.cyberforum.ru/cpp-beginners/thread1139868.html
Задача проста: создать список из слов, вводимых с клавиатуры, и вывести его на консоль. Всё вводит и выводит. Только откуда-то взялась "Д" в начале списка (см. вложение). Собственно, откуда она берется и как её ликвидировать? Код: #include <cstdlib> #include <iostream> #define M 5 using namespace std; struct WORDS {
C++ Чтение из файла в Матрицу Добрый Ночи! Всем классного настроения! Ищу совета от более опытных пользователей. Подскажите, пожалуйста, как можно читать в матрицу(массив) из файла, для реализации моего проекта. Матрица готова, посчиталась и сохранилась в файл. Теперь нужно взять загрузить из файла на экран по очереди каждую строчку, и при желании крутить туда сюда. 3 2 -5 -1 2 -1 3 13 1 2 -1 9 1 2 -1 9 2 -1 3... подробнее

Показать сообщение отдельно
Krock21rus
73 / 73 / 19
Регистрация: 18.11.2013
Сообщений: 369
Завершенные тесты: 2
05.04.2014, 21:53     Что означает *&
Искал я информацию про деревья в с++, нашёл информацию в http://ci-plus-plus-snachala.ru/?p=1249
но там используется *&, что мне не совсем понятно, в гугле информация только на англ. поэтому прошу обьяснить мне что означает *& в с++

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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#include <iostream>
using namespace std;
 
struct Node //Звено дерева
{
   int x; //То, что записываем в дерево
   Node *l,*r; //Это указатели на новые звенья
};
 
void show(Node *&Tree) //Функция обхода
{
    if (Tree!=NULL) //Пока не встретится пустое звено
    {
       show(Tree->l); //Рекурсивная функция для вывода левого поддерева
       cout<<Tree->x; //Отображаем корень дерева
       show(Tree->r); //Рекурсивная функци для вывода правого поддерева
    }
}
 
void add_node(int x,Node *&MyTree) //Фукция добавления звена в дерево
{
    if (NULL==MyTree)  //То, о чем я в самом начале писал. Если дерева нет, то ложим семечко
    {
        MyTree=new Node; //Выделяем память под звено дерева
        MyTree->x=x; //Записываем данные в звено
        MyTree->l=MyTree->r=NULL; //Подзвенья инициализируем пустотой во избежание ошибок
    }
 
                   if (x<MyTree->x)   //Если нововведенный элемент x меньше чем элемент x из семечка дерева, уходим влево
                      {
                          if (MyTree->l!=NULL) add_node(x,MyTree->l); //При помощи рекурсии заталкиваем элемент на свободный участок
                          else //Если элемент получил свой участок, то
                          {
                              MyTree->l=new Node;  //Выделяем память левому подзвену. Именно подзвену, а не просто звену
                              MyTree->l->l=MyTree->l->r=NULL; //У левого подзвена будут свои левое и правое подзвенья, инициализируем их пустотой
                              MyTree->l->x=x; //Записываем в левое подзвено записываемый элемент 
                          }
                      }
                 
                    if (x>MyTree->x)   //Если нововведенный элемент x больше чем элемент x из семечка дерева, уходим вправо
                      {
                          if (MyTree->r!=NULL) add_node(x,MyTree->r); //При помощи рекурсии заталкиваем элемент на свободный участок
                          else //Если элемент получил свой участок, то
                          {
                              MyTree->r=new Node;  //Выделяем память правому подзвену. Именно подзвену, а не просто звену
                              MyTree->r->l=MyTree->r->r=NULL; //У правого подзвена будут свои левое и правое подзвенья, инициализируем их пустотой
                              MyTree->r->x=x; //Записываем в правое подзвено записываемый элемент 
                          }
                      }
        
}
 
int main()
{
   Node *Tree=NULL;  //Создаю указатель, тип которого = звено дерева и инициализирую его пустотой
  
 
      
      for (int i=5;i>0;i--) add_node(i,Tree); //Это я забивал 5-4-3-2-1, а вывод сами увидите
      show(Tree); //Вывод на экран дерева. или просто обход дерева
 
      cin.get();
 
   return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 18:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru