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

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: LPCTSTR и const char*  (Прочитано 15022 раз)
0 Пользователей и 3 Гостей смотрят эту тему.
Kuzmich
Гость
« : 19-09-2003 09:15 » 

Скажите в чем различия этих типов, как я понял это почти одно и тоже только LPCTSTR использует дальнюю адресацию, так вот зачем эта дальняя адресация нужна, что она представляет из себя в 32битном коде и что лучше использовать ?
Записан
Lex
Специалист

ru
Offline Offline

WWW
« Ответ #1 : 19-09-2003 09:24 » 

LPCTSTR отлисчается тем, что это const TCHAR*
TCHAR определяется как char или wchar, в зависимости от того, хочешь ты использовать Unicode или нет.

По идее правильно использовать TCHAR и LPCTSTR и  т.п. там, где тебе надо работать со строками, т.к. это дает большую универсальность в создании как ANSI так и Unicode приложения
Записан

Megabyte be with you!
Джон
просто
Администратор

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

« Ответ #2 : 19-09-2003 09:43 » 

Может в виду имелось LPCSTR - то тогда никакой - просто короче

typedef char CHAR;
typedef const CHAR* LPCSTR;

А везде где "Т" стоит значит, что будет использован тип в зависимости от:

#ifdef  UNICODE

typedef wchar_t TCHAR, *PTCHAR;

#else

typedef char TCHAR, *PTCHAR;

....
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"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."
Kuzmich
Гость
« Ответ #3 : 22-09-2003 03:45 » 

Ну с типами я разобрался, просто я неудачно задал вопрос, а суть заключалась вот в чем:
Допустим, у нас 2 переменные типа:
BITMAPINFOHEADER* pBMIH1;
LPBITMAPINFOHEADER pBMIH2;
как я понимаю приставка LP означает Long Pointer, т.е. дальний указатель , так вот я хотел узнать в чем различия дальних и ближних указателей, если адресное пространство  "сплошное", и что лучше использовать.
Записан
Lex
Специалист

ru
Offline Offline

WWW
« Ответ #4 : 22-09-2003 08:47 » new

Kuzmich, то что это лонг поинтер пошло еще с Windows 3.1, где это имело смысл. Скорее всего потом менять правила именования было уже тяжко.
Записан

Megabyte be with you!
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines