crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

AD
  опции профиля:
сообщение 8.5.2008, 18:05
Сообщение #1


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


Случайно сделал следующую переменную:
std::vector<ParamDescr*>* recordы;


И студия (VC2005) "съела", т.е. не выдала ошибки! Неужели в стандарте С++ прописано, что можно использовать язык, отличный от английского? :blink:

Пояснение:
recordы - студия такое разрешила!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Tonal
  опции профиля:
сообщение 10.5.2008, 14:15
Сообщение #2


Активный участник
***

Группа: Участник
Сообщений: 452
Регистрация: 6.12.2007
Из: Новосибирск
Пользователь №: 34

Спасибо сказали: 69 раз(а)




Репутация:   17  


Вообще то формально, поддержка национальных идентификаторов была заявлена ещё в стандарте С++ 98.
Вот только руки до неё не у кого не дошли...

Хотя времена меняются, и уже в мингве 4.2.1 можно делать такое:
#include <iostream>
using std::cout;
using std::endl;

int main() {
  //int Вася = 555;
  int \u0412\u0430\u0441\u044f = 555;
  //cout<<Вася<<endl;
  cout<<\u0412\u0430\u0441\u044f<<endl;
}

И компилировать так:
C:\test>g++-dw2 -fextended-identifiers -o "ttt" "ttt.cpp"

Т.е. можно использовать русские имена, если перед компиляцией преобразовывать их в уникодовские литералы.
Правда при этом будут довольно уродские сообщения об ошибках.

P.S. Вроде в 4.3.0 это должны доработать - тогда, при указани локали исходника можно будет использовать русские имена напрямую.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 23.6.2025, 23:44