Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
6 / 6 / 2
Регистрация: 12.02.2012
Сообщений: 224

Обращение к функции через указатель

09.09.2012, 16:20. Показов 1116. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день.Объясните для незнающего след.код:в частности строку номер:6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class ListItem
{
public:
    void Append(ListItem *pItem)
    {
        pItem->m_pNext = this;
        m_pPrevious = pItem;
        m_pNext = NULL;
    }
private:
    ListItem *m_pNext;
    ListItem *m_pPrevious;
    int     m_data;
};
Я обращаюсь к m_pNext через укзатель pItem и присваиваю значение this.Так? Тогда почему не можно сделать просто m_pNext = this; ?
Спасибо
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.09.2012, 16:20
Ответы с готовыми решениями:

Обращение к элементу массива через указатель
Здравствуйте, точно помню, что A и *(A+i) это одно и тоже то вот почему-то не хочет работать #include "stdafx.h" ...

Обращение к вектору полученному через указатель
Всем привет, Появился вопрос по поводу обращения к вектору полученному через указатель. Выглядит так: Передаю адрес вектора в...

Обращение к элементам класса через указатель
Что выполняет в данном случае оператор -> this->t1 = (gcnew System::Windows::Forms::TextBox()); ? Почему нельзя писать так this.t1...

5
 Аватар для Kastaneda
5232 / 3205 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
09.09.2012, 16:28
Как то название темы не связано с содержанием.

Цитата Сообщение от RASHFor Посмотреть сообщение
тогда почему не можно сделать просто m_pNext = this; ?
потому что операция
C++
1
m_pNext = this;
в действительности означает
C++
1
this->m_pNext = this;
а нужно сделать именно
C++
1
pItem->m_pNext = this;
т.е. это далеко не одно и тоже.
1
6 / 6 / 2
Регистрация: 12.02.2012
Сообщений: 224
09.09.2012, 16:40  [ТС]
т.е строка
C++
1
 pItem->m_pNext = this;
означает pItem присваивается значение this ?
0
30 / 20 / 1
Регистрация: 08.09.2012
Сообщений: 77
09.09.2012, 17:10
Насколько мне известно, эта запись означает следующее:
Взять адрес текущего объекта ListItem (переменная this) и записать его в переменную m_pNext объекта ListItem, адрес которого находится в переменной pItem.
1
6 / 6 / 2
Регистрация: 12.02.2012
Сообщений: 224
13.09.2012, 20:53  [ТС]
строка this->b = new B; означает взять вдресс текущего объекта b и выделить под него память?так?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class B{
public:
    int k;
    B(){
        k = 0;
    }
};
 
class SomeClass{
public:
    B *b;
    SomeClass(){
        b = new B;
    }
    // Конструктор копирования.        
    SomeClass(const SomeClass & w){
        this->b = new B;
        this->b->k = w.b->k;
    }
спасибо

Добавлено через 1 минуту
а строка №18 вообще,что читать почерк докторов в районной поликлиники....нипанятна.
0
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
13.09.2012, 21:09
C++
1
this->b = new B;
означает создать в куче объект класса В и присвоить его адрес указателю на класс В, коим является this->b
C++
1
this->b->k
обращение к полю k класса В через указатель на объект класса В
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.09.2012, 21:09
Помогаю со студенческими работами здесь

Обращение к перегруженному оператору () через указатель на объект
Собственно, как? class MyClass { .. void operator() (int _i) { cout << "operator()" << _i << endl; } ...

Массив классов, задание и обращение к элементам через указатель
Доброе время суток!! Помогите новичку разобраться с классами! Очень надо как всегда:) Задан класс class A { int m; ...

Быстрее ли вывов функции, переданной через параметр шаблона, чем через простой указатель на функцию?
Здравствуйте! Есть два варианта передачи некоторой переменной типа "указатель на функцию" в класс - через параметр шаблона и...

Обращение к методам класса через указатель на экземпляр класса
Добрый день. Не могу осилить проблему: Описан абстрактный класс. Описаны наследники этого класса уже без абстрактности. Описан...

Вызов родовой функции (нужно передать массив в качестве аргумента функции через указатель)
#include <iostream> using namespace std; template <class T1> class mas { public: T1 n; T1 a; void input() ...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru