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

использование указателей - C++

Восстановить пароль Регистрация
 
Xtir
11 / 11 / 0
Регистрация: 10.07.2010
Сообщений: 130
30.05.2011, 15:47     использование указателей #1
не знал как тему даже назвать , но вроде тут нада что-то с указателями мутить(или другим каким способом), а я в этом очень не силён, по-этому прошу помощи )

имеется вот такой код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class CTest
{
public:
    int x;
    void xpp()
    {
        x++;
    }
};
 
CTest test;
 
void main()
{
    int x = 5;
    test.x = x;
 
    test.xpp();
 
    cout << "real x = " << x << endl;
    cout << "test x = " << test.x << endl << endl;
}
нада что бы при изменении test.x, изменялось и x созданная в main, как это правильно сделать?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.05.2011, 15:47     использование указателей
Посмотрите здесь:

Использование указателей C++
использование указателей C++
C++ Использование указателей в программах
C++ Использование указателей и функций
C++ Использование указателей в функциях
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
mimicria
return (true);
 Аватар для mimicria
1956 / 1093 / 91
Регистрация: 19.04.2011
Сообщений: 2,344
30.05.2011, 15:55     использование указателей #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class CTest
{
public:
        void xpp(int &t)
        {
          t++;
        }
};
 
CTest test;
 
void main()
{
        int x = 5;
        cout << "real x = " << x << endl;
        test.xpp(x);
        cout << "test x = " << x << endl;
        system("pause");
}
Xtir
11 / 11 / 0
Регистрация: 10.07.2010
Сообщений: 130
30.05.2011, 16:03  [ТС]     использование указателей #3
впринципе это мне понятно, но мне хотелось бы как-то так сделать, что бы не надо было передавать элемент в функцию...
mimicria
return (true);
 Аватар для mimicria
1956 / 1093 / 91
Регистрация: 19.04.2011
Сообщений: 2,344
30.05.2011, 16:06     использование указателей #4
Цитата Сообщение от Xtir Посмотреть сообщение
что бы не надо было передавать жлемент в функцию...
А откуда функция будет знать что ей менять?
Ну сделайте через глобальные переменные. Только смысл?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
int x = 5;
 
class CTest
{
public:
        void xpp()
        {
          x++;
        }
};
 
CTest test;
 
void main()
{
        cout << "real x = " << x << endl;
        test.xpp();
        cout << "test x = " << x << endl;
        system("pause");
}
Xtir
11 / 11 / 0
Регистрация: 10.07.2010
Сообщений: 130
30.05.2011, 16:17  [ТС]     использование указателей #5
Цитата Сообщение от mimicria Посмотреть сообщение
А откуда функция будет знать что ей менять?
Ну сделайте через глобальные переменные. Только смысл?
хз, поэтому и спрашиваю, думал как-то через указатели можно
а глобальная не, не катит мне ))
m1Rr0r
 Аватар для m1Rr0r
247 / 230 / 15
Регистрация: 05.02.2010
Сообщений: 3,213
Завершенные тесты: 2
30.05.2011, 16:29     использование указателей #6
создай указатель на x и передай его в функцию, но это тоже самое что пример выше.
не передавая ни каких данных об х , никак поменять не получиться
DeadRipper
64 / 70 / 3
Регистрация: 25.06.2009
Сообщений: 244
30.05.2011, 19:49     использование указателей #7
так сделать нельзя, процессор может изменять в 1 такт только одну ячейку памяти, а синхронно с этим нельзя менять вторую.... хотя, если создать другой поток , который будет следить за изменениями, и далее менять вторую переменную.. но зачем)

непонятен смысл данной задачи если честно
зачем дубликаты переменных?

Добавлено через 16 минут
хз, поэтому и спрашиваю, думал как-то через указатели можно
а глобальная не, не катит мне ))
вам через указатели и показали как уже)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.06.2011, 21:50     использование указателей
Еще ссылки по теме:

C++ Использование указателей на функции
Использование указателей C++
C++ Использование массивов и указателей

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Xtir
11 / 11 / 0
Регистрация: 10.07.2010
Сообщений: 130
02.06.2011, 21:50  [ТС]     использование указателей #8
чё вы меня парите )))
вот так же можно сделать, и без всяких передач в функции
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class CTest
{
public:
    int x;
    void xpp()
    {
        x++;
    }
};
    
CTest test;
 
void main()
{
    test.x = 5;
    int *x = &test.x;
 
    test.xpp();
 
    cout << *x << endl;
}
Yandex
Объявления
02.06.2011, 21:50     использование указателей
Ответ Создать тему
Опции темы

Текущее время: 02:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru