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

ref class. Как правильно? - C++

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 29, средняя оценка - 4.72
.4rray
8 / 8 / 0
Регистрация: 15.12.2010
Сообщений: 41
17.05.2011, 20:25     ref class. Как правильно? #1
ref class - ссылочный класс. Я использовал его не задумываясь в чем его суть.
Так вот, что имеется в виду под "ссылочный" ? (а ля public - "открытый").

Для наглядности пример:
C++
1
2
3
4
5
6
7
8
9
10
namespace Name {
 
    public ref class First
    {
    private:
            ref class Second
            {
            }
    }
}
Было бы замечательно получить комментарий об отношениях(ref на это как-то влияет?) приведенных выше классов.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.05.2011, 20:25     ref class. Как правильно?
Посмотрите здесь:

C++ Нужно объект типа класс проинициализировать с помощью перегруженного конструктора Class::Class( bool a )
C++ Что такое ref class
enum и class как составляющие другого class C++
Разъясните код пжлст(выдает ошибку:cannot convert from 'class std::list<class c_bullet *,class std::allocator<class c_bullet *> >::iterator' to 'int') C++
Работа с class ами. Заполнение дин. массива типа class C++
C++ IS-A, REF-A, GET-A,. наследование
vector<[class]> in class и перегрузка (ostream) C++
C++ Create a programm that creates an object of created class Time and tests the member functions of class
Rvalue ref как параметр функции. Странности с оптимизацией C++
C++ Как правильно вписать функцию в h-файл и правильно её отразить в основной функции?
C++ Объяснить причины ошибки "Extra qualification 'CLASS CONSTRUCTOR' and 'CLASS' has incomplete type"
C++ Как правильно унаследовать TPoint2D от TPoint3D/ Правильно ли наследовать? ООП

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gooseim
Эксперт С++
508 / 412 / 37
Регистрация: 23.09.2010
Сообщений: 1,159
17.05.2011, 21:02     ref class. Как правильно? #2
обычный класс:
C++
1
2
3
CNonRef nonref1=0, nonref2=1, nonref3=3;
nonref1=nonref2;
nonref2= nonref3;
На выходе:
nonref1=1
nonref2=3

ссылочный класс:
C++
1
2
3
CNonRef nonref1=0, nonref2=1, nonref3=3;
nonref1=nonref2;
nonref2= nonref3;
На выходе:
nonref1=3
nonref2=3

Для не ссылочного класса это было бы так:
C++
1
CNonRef nonref2=1, &nonref1=nonref2, nonref3=3;
Ma3a
Эксперт C++
612 / 456 / 31
Регистрация: 28.01.2011
Сообщений: 605
17.05.2011, 21:07     ref class. Как правильно? #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Когда вы создаете переменную ссылочного типа, то в действительности эта переменная представляет собой лишь указатель, который ссылается на объект, созданный на управляемой куче, отсюда и название. Ref в основном влияет только там, где нужно заботиться о проверке двух объектов на равенство и при копировании объектов. Иногда забывают о том, что если одной переменной ссылочного типа присвоить значение другой переменной ссылочного типа, то будут присвоены лишь указатели, а сами объекты останутся неизменными, то же самое и с равенством, нужно следить за тем, чтобы сравнивалось то, что нужно, а не просто указатели.
Yandex
Объявления
17.05.2011, 21:07     ref class. Как правильно?
Ответ Создать тему
Опции темы

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