Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Венгерский язык, блин  (Прочитано 12566 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
AlexLn
Участник

ru
Offline Offline

« : 13-07-2009 07:35 » 

Какую книгу по прогр. под Виндус не возьму, все на "венгерском". А на "родном" С++ под неё вобще не пишут? Где достать венгерский словарь?
Записан
Вад
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #1 : 13-07-2009 07:52 » 

Что значит "на венгерском"? Венгерская нотация? Можно просто не обращать внимания. В чём ты видишь отличия от "родного" C++?
Записан
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #2 : 13-07-2009 07:58 » new

Для винды родной скорее не С++, а С. Так что ты имел ввиду?
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 13-07-2009 08:13 » 

"венгерский" = английский
"родной" = русский

ну тупыыыыые. (с)
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
AlexLn
Участник

ru
Offline Offline

« Ответ #4 : 24-08-2009 07:25 » 

Извините, что месяц не заходил. Глаз повредил.
Имею в виду венгерскую нотацию и и извращения Микрософта над языком как таковым. Неделю разбирался, что за зверь такой 'LPSTR'. Оказалось, это есть Микрософтовский 'char*'!
Записан
Вад
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #5 : 24-08-2009 07:37 » 

Ну, конкретно LPSTR - это не совсем извращение. Это, скорее, абстрагирование (пускай и с помощью обычного макроса) от конкретного встроенного типа. Потому что LPSTR - это "Long Pointer to String". На другой платформе, возможно, понадобился бы не char*, а какой-нибудь char far*.
А ещё, LPTSTR - это, если UNICODE, подстановка LPWSTR, а если нет, - LPSTR.
Клиенту же такие тонкости знать не нужно - а то накосячит, у него компилироваться перестанет, он будет недовольным и станет хаять MS Улыбаюсь
Записан
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #6 : 24-08-2009 09:00 » 

Дело даже не в знании тонкостей, а в том, что такая запись позволяет легко компилировать  один и тот же код как в UNICODE, так и в ANSII. Хотя может быть AlexLn знает другое, более неизвращённое решение?
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Mayor
Специалист

ru
Offline Offline

« Ответ #7 : 24-08-2009 10:58 » 

Извините, что месяц не заходил. Глаз повредил.
Имею в виду венгерскую нотацию и и извращения Микрософта над языком как таковым. Неделю разбирался, что за зверь такой 'LPSTR'. Оказалось, это есть Микрософтовский 'char*'!

видишь ли какая проблемма, если не устравает венгерская нотация, пиши под линух или с использованием библиотек\враперов портированных с линукса

а если придется работать с вин АПИ, а скорее всего, что придется - то привыкай к синтаксису, поставь наконец мсдн и тп
Записан

1n c0de we trust
AlexLn
Участник

ru
Offline Offline

« Ответ #8 : 24-08-2009 13:52 » 

Вон оно что... Я думал char в любой платформе char.  LPSTR, звиняй.
Записан
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #9 : 24-08-2009 14:30 » 

AlexLn, я тебе посоветую такую штуку Visual Assist. Он такие дела сразу показывает. Поставишь курсор на LPSTR, а он тебе сразу в окошке: typedef CHAR* LPSTR. Можно даже кнопочку Go нажать и перейти в место объявления:

//
// ANSI (Multi-byte Character) types
//
typedef CHAR *PCHAR;
typedef CHAR *LPCH, *PCH;

typedef CONST CHAR *LPCCH, *PCCH;
typedef CHAR *NPSTR;
typedef CHAR *LPSTR, *PSTR;
typedef CONST CHAR *LPCSTR, *PCSTR;

А насчёт венгерской нотации... Тут такое дело. Пока ты один программируешь и сам в своём коде ковыряешься, пиши как хочешь, хоть в одну строчку (С++ это позволяет).
Но как только дело дойдёт до совместной работы... Представь, что для кого-то твой стиль будет чем-то вроде венгерской нотации для тебя. Посему возникла необходимость в неком стандарте. И уж лучше к нему привыкнуть.
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
AlexLn
Участник

ru
Offline Offline

« Ответ #10 : 27-08-2009 07:38 » 

Спасибо. То, что надо.
Записан
lapulya
Молодой специалист

ru
Offline Offline

« Ответ #11 : 21-12-2009 18:11 » 

AlexLn, ты прав, char на любой платформе char, это стандартом гарантировано. А по поводу LPSTL, то это даже еще более круто чем то что написал Вад, поскольку это можно объявить как

class LPSTR
{
    ......
    ifdef UNICODE
        public operator const char*();
    elsfeif
        public operator const wchar*();
    endif
}
или что-то в этом роде, а уж внутри класса городи чего хочешь...
Записан

С уважением Lapulya
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines