yms: (Default)
[personal profile] yms
Нет, на что это похоже, я вас спрашиваю?!

//...

using namespace stdcli::language;

//Document class
ref class ScribbleDoc
{
public:
  ScribbleDoc( MainWindow^ mainWin );
  ~ScribbleDoc();
 
void SaveDocument( String^ fileName );
 
void OpenDocument( String^ fileName );
  //...

Впрочем, нечто вроде ^ уже было и в 2003, только называлось оно __gc * .

Date: 2004-07-24 08:26 am (UTC)
From: [identity profile] ifyr.livejournal.com
Повбывав бы. Особенно за введение таких namespace, которые просто требуют using namespace (which, of course, must die).

Date: 2004-07-24 08:50 am (UTC)
From: [identity profile] yms.livejournal.com
А почему маст дай? Вроде штука необходимая...

Date: 2004-07-24 09:11 am (UTC)
From: [identity profile] ifyr.livejournal.com
1. Загрязняет область имен (как правило код в одном файле использует очень ограниченное подмножество namespace, соответственно, если уж очень не хочется явно прописывать namespace, можно воспользоваться простым using), то есть прямо противоречит основным причинам добавления namespaces в язык.
2. Затрудняет читаемость кода (не всегда понятно, к чему относится какой-нибудь неквалифицированный тип. В случае с широко применяемыми string или vector это еще терпимо, но если в коде появляется что-то вроде inplace_merge, то не каждый с ходу вспомнит, что это стандартный алгоритм).
3. О проблемах использования using namespace в *.h* файлах нечего и говорить.

Хотя using namespace — тема довольно религиозная, на эту тему было много дискуссий в comp.lang.c++.moderated.

Date: 2004-07-24 09:17 am (UTC)
From: [identity profile] yms.livejournal.com
Но альтернатива-то какая?

Date: 2004-07-24 09:23 am (UTC)
From: [identity profile] ifyr.livejournal.com
Прямой using, короткие имена namespaceов (из-за чего я и не сдержался в первом комменте), typedefы (в ограниченных случаях), в крайнем случае — using внутри класса/функции.

Date: 2004-07-27 12:13 am (UTC)
From: [identity profile] yms.livejournal.com
А, дошло наконец. Да, это маст дай, конечно.

Profile

yms: (Default)
Michael Yutsis

March 2022

S M T W T F S
  12 345
678910 1112
13141516171819
20212223242526
2728293031  

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Mar. 24th, 2026 11:00 am
Powered by Dreamwidth Studios