Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.07.2011, 13:09   #1
ромик0
Форумчанин
 
Регистрация: 23.05.2011
Сообщений: 121
По умолчанию LPRECT ??? объясните что это и зачем оно.

это указатель/дескриптор на что то? я правильно думаю?
ромик0 вне форума Ответить с цитированием
Старый 25.07.2011, 13:13   #2
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

указатель на структуру RECT. идиотский микрософтский стиль
Код:
typedef struct tagRECT {
....
} RECT, *LPRECT;
пс. на самом деле там FAR *LPRECT, но сейчас FAR/NEAR указатели не актуальны
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance

Последний раз редактировалось pproger; 25.07.2011 в 13:19.
pproger вне форума Ответить с цитированием
Старый 25.07.2011, 15:05   #3
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Цитата:
идиотский микрософтский стиль
обычный стиль, не надо искать что это
p51x вне форума Ответить с цитированием
Старый 25.07.2011, 15:21   #4
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

2p51x
это выглядит дико
Код:
void foo(RECT *rect);
void foo(LPRECT rect);
ну и где "не надо искать, что это"? так же напрягают их пустые макросы IN/OUT. это верх идиотизма переменные по значению и так всегда только IN. если по указателю, то смотреть нужно на константность и решать, IN это или OUT. самодокументирующийся код, за ногу его...

а еще правильней в СИ писать
Код:
void foo(struct RECT *rect);
(т.е использовать тег структуры)
тогда вообще вопросов не остается

да и что я распинаюсь то, существование этой темы лучшее подтверждение этого идиотского стиля
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance

Последний раз редактировалось pproger; 25.07.2011 в 15:33.
pproger вне форума Ответить с цитированием
Старый 25.07.2011, 17:04   #5
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Цитата:
Сообщение от pproger Посмотреть сообщение
2p51x
это выглядит дико
Код:
void foo(RECT *rect);
void foo(LPRECT rect);
ну и где "не надо искать, что это"? так же напрягают их пустые макросы IN/OUT. это верх идиотизма переменные по значению и так всегда только IN. если по указателю, то смотреть нужно на константность и решать, IN это или OUT. самодокументирующийся код, за ногу его...

а еще правильней в СИ писать
Код:
void foo(struct RECT *rect);
(т.е использовать тег структуры)
тогда вообще вопросов не остается

да и что я распинаюсь то, существование этой темы лучшее подтверждение этого идиотского стиля
Я считаю это только помогает (упрощает писанину) подсказывать для самостоятельных решениях компилятора при компиляции. Если пишут, видимо не просто так ведь
BOBAH13 вне форума Ответить с цитированием
Старый 25.07.2011, 17:07   #6
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

pproger

так же напрягают их пустые макросы IN/OUT. это верх идиотизма

Оставаясь в блаженном неведении про [Application]Verifier и SAL-аннотации, оно так и будет казаться.
Rififi вне форума Ответить с цитированием
Старый 25.07.2011, 17:30   #7
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

2Rififi
Цитата:
Оставаясь в блаженном неведении про [Application]Verifier и SAL-аннотации, оно так и будет казаться.
Код:
void foo(int a); // IN
void foo(int *a) // OUT
void foo(const int *a) // IN
а пацаны то и не знали
вообще у меня есть ответ такого хода - в С const был не всегда

2BOBAH13
ты про что именно? что помогает компилятору?
Цитата:
Если пишут, видимо не просто так вед
на заборе тоже пишут
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance

Последний раз редактировалось pproger; 25.07.2011 в 17:49.
pproger вне форума Ответить с цитированием
Старый 25.07.2011, 18:58   #8
ромик0
Форумчанин
 
Регистрация: 23.05.2011
Сообщений: 121
По умолчанию

Код:
 struct r {
        int a = 100;
        int b = 100;
 }
  POINT p;   
  p = &r;
  ClipCursor(p);
что не так ?
ромик0 вне форума Ответить с цитированием
Старый 25.07.2011, 19:03   #9
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

2ромик0
а что здесь так? помимо того, что написан полный бред. да и винапишная ClipCursor принимает указатель на RECT, а не на POINT.
Код:
RECT rect = { 0, 0, 100, 100 };
ClipCursor(&rect);
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 25.07.2011, 19:04   #10
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

В википедии
Вообще венгерская нотация в современном C++ в современных условиях разработки - это антиэргономичный костыль, от которого вреда гораздо больше, чем пользы.
Если кто-то действительно считает, что имена типа m_puiArray (переменная член, указатель на массив беззнаковых целых) понятнее имен типа Array - то флаг ему в руки и барабан на шею, лишь бы только он не писал код, который будут читать другие люди.
Венгерская нотация:
1. Излишня (C++ - язык со статической типизацией и компилятор и так прекрасно разбирается в типах переменных, программисту же легко подскажет тип переменной сама IDE)
2. Громоздка и нечитабельна (пять лишних символов, которые образуют совершенно дикие для живого человека сочетания)
3. Зачастую вводит в заблуждение (когда-то давно тип аргумента WinAPI-функции был таким, а когда времена x16 канули в лету, сменился; название же осталось прежним).
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Что это такое и как оно работает genya-yatsun Общие вопросы C/C++ 4 16.01.2011 17:46
Ключи от Интернет - что это значит? Объясните глупому. grenles Свободное общение 17 03.08.2010 19:40
Объясните,что это за метод -ushёl- Общие вопросы Delphi 2 06.04.2010 11:48
Объясните , зачем использовать модификаторы ref и out. Ksy Общие вопросы .NET 1 27.12.2009 16:13
как это работает и что оно вообще такое? kievlyanin Microsoft Office Excel 9 08.07.2009 14:33