Объявления указателей
От: ArtDenis Россия  
Дата: 12.02.04 05:51
Оценка:
Такой вопрос:

Как известно, если объявляешь указатели вот так:
float *a, *b, *c;

то перед каждым именем переменной надо ставить знак *

Теперь объявим указатели на члены класса:
float Class:: *a, *b, *c;


Получилась такая фигня:

a — это указатель на слен класса Class
b, c — это указатели на указатели на члены класса Class

Почему получается именно так?

PS: как это дело обходить предлагать не надо
Posted via RSDN NNTP Server 1.8 beta
[ 🎯 Дартс-лига Уфы | 🌙 Программа для сложения астрофото ]
Re: Объявления указателей
От: folk Россия  
Дата: 12.02.04 06:24
Оценка:
Здравствуйте, ArtDenis, Вы писали:

AD>Такой вопрос:


AD>Как известно, если объявляешь указатели вот так:

AD>
AD>float *a, *b, *c;
AD>

AD>то перед каждым именем переменной надо ставить знак *

AD>Теперь объявим указатели на члены класса:

AD>
AD>float Class:: *a, *b, *c;
AD>


AD>Получилась такая фигня:


AD>a — это указатель на слен класса Class

AD>b, c — это указатели на указатели на члены класса Class

На чем проверял?
На VC7.1 b и с — просто указатели на float.

AD>Почему получается именно так?


AD>PS: как это дело обходить предлагать не надо
На самом деле, люди не читают газеты, они принимают их каждое утро, так же как ванну. ©Маршалл Мак-Льюэн
Re[2]: Объявления указателей
От: ArtDenis Россия  
Дата: 12.02.04 06:53
Оценка:
Здравствуйте, folk, Вы писали:

f> На чем проверял?

f> На VC7.1 b и с — просто указатели на float.

На билдере. Сейчас пойду на обед домой, проверю на VC7.1
Posted via RSDN NNTP Server 1.8 beta
[ 🎯 Дартс-лига Уфы | 🌙 Программа для сложения астрофото ]
Re[2]: Объявления указателей
От: ArtDenis Россия  
Дата: 12.02.04 07:09
Оценка:
Здравствуйте, folk, Вы писали:

f> На чем проверял?

f> На VC7.1 b и с — просто указатели на float.

Кстати, Online Comeau со мной согласен:

struct Class
{
  float a, b;
};

void test()
{
  float value;
  float Class:: *a, *b;
  Class cl = {0, 0};

  a = &Class::a;
  value = cl.*a;

  b = &Class::b;
  value = cl.*b;
}


Компилятор спотыкается на "b = &Class::b"
Posted via RSDN NNTP Server 1.8 beta
[ 🎯 Дартс-лига Уфы | 🌙 Программа для сложения астрофото ]
Re: Объявления указателей
От: ArtDenis Россия  
Дата: 12.02.04 07:35
Оценка:
Здравствуйте, ArtDenis, Вы писали:

AD>Такой вопрос:

AD>...


Да, лопухнулся, надо объявлять так:
float Class::*a, Class::*b;
... << RSDN@Home 1.1.2 stable >>
[ 🎯 Дартс-лига Уфы | 🌙 Программа для сложения астрофото ]
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.