ПрограммированиеФорумОбщее

C++11 (C++0x), знаем ли мы его? Так ли он хорош?

Страницы: 1 2 314 15 Следующая »
#0
10:05, 15 сен 2011

Лучше не заходить, пока не ответите на вопрос, тк там есть ответы и вам будет не так интересно.

int b;
int c();

template<class u, class v>
struct IsSameType
{
  enum {r=0};
};

template<class u>
struct IsSameType<u,u>
{
  enum {r=1};
};

//...
cout<<IsSameType<decltype(b),decltype(c())>::r<<endl;
cout<<IsSameType<decltype(b),decltype((b))>::r<<endl;
cout<<IsSameType<decltype(c()),decltype((b))>::r<<endl;

"Сегодня увидим новую плюшку, что нам подарил новый стандарт С++0х.
1)Что на экране получим после выполнения данной программы?
2)Какие реально decltype возвращает типы в данных случаях?
Желательно ответить на оба вопроса, не компилируя. ^_^"

"Следующие строчки не эквивалентны, если foo() возвращает ссылку:
auto v = foo(); // копирование значения
decltype(foo()) v = foo(); // сохранение ссылки
Это интуитивно?.."

#1
10:35, 15 сен 2011

С++0х уже переименовали в С++11

#2
10:47, 15 сен 2011

Я плачу. Школьники опять нашли проблему (на их взгляд) в свежеиспеченном стандарте (который еще толком и обкатать не успели), и теперь всем прогерам С++ придется переходить на Паскаль. Бида.

#3
11:04, 15 сен 2011

Lamer007
> Это интуитивно?.."
>
>

Да, если есть понимание что делает auto, а что decltype

#4
11:26, 15 сен 2011

Все нормальные люди давно свалили на C#, плюсы остались непонятно кому. Если нужен низкий уровень то достаточно обычного C.

#5
11:32, 15 сен 2011

Все нормальные люди давно пишут софт под OSX/iOS,... C# c вендой остались непонятно кому,... trollface.jpg

#6
12:32, 15 сен 2011

Неужели опять скатится в zlosть?

#7
13:22, 15 сен 2011

Все нормальные люди давно пишут софт на Аде :trollface:

#8
13:47, 15 сен 2011

Ну вот и зачем такие структуры выдумывать на C++, после чего утверждать что он гавно ?..

Для тех кто хочет убить себе мозг прораммами непонятно как написанными, откомпилированными и работающими придумали язык Malbolge и ему подобными.
Такое название для языка программирования (Malebolge, «Злые Щели» (в переводе Державина) – восьмой круг Дантева Ада (Inferno)) его автор Ben Olmstead объясняет безыскусно: «хотелось сделать максимально адский (Infernal) язык из всех возможных». В общем и целом, это вполне удалось: потребовалось всего два года, чтобы создать первую работающую программу на Malbolge (более того, эта программа была не написана собственноручно программистом, а «найдена» специальной исследовательской программой на языке Lisp). Этой первой программой стал классический «Hello world» – вот такой:

 (=<`:9876Z4321UT.-Q+*)M'&%$H"!~}|Bzy?=|{z]KwZY44Eq0/{mlk**
 hKs_dG5[m_BA{?-Y;;Vb'rR5431M}/.zHGwEDCBA@98\6543W10/.R,+O<

Стоит заметить, что Malbolge взял очень важную планку: эзотерические языки программирования стали объектом исследования. «Как написать работающую программу на Malbolge» – это была задачка, об которую очень и очень стоило поломать голову; золотыми буквами в историю языка вписаны имена Энтони Йонаса, опубликовавшего несколько работающих программ, но не раскрывшего секрета их написания, Лу Шеллера, проведшего криптоанализ (sic!) языка, Томаса Вергзановски, создавшего генератор несложных, но работающих программ... (...которые в несколько раз больше аналогичных программ Энтони Йонаса, по сию пору хранящего свои секреты.)

#9
14:00, 15 сен 2011

>Ну вот и зачем такие структуры выдумывать на C++, после чего утверждать что он гавно ?..
Тут все внимание к типу возвращаемого значения decltype((b)), а не к коду.

#10
19:14, 15 сен 2011

Lamer007
Все эти проблемы от того, что кто-то не хочет читать стандарт и, даже, статьи, а просто гуглит примеры в 2 строки на каком-нибудь superCppCoding.ru. Можно еще видео-уроки смотреть, а считать потом за баг то, что b - int, а (b) - int&.

#11
22:52, 15 сен 2011

Fla
> b - int, а (b) - int&.
Наоборот. Вишь, вот даже и ты ошибся. :)

#12
23:35, 15 сен 2011

То, что С++0х нужен - это точно, но нужен ли он в таком виде?.. Вопрос риторический.

#13
23:54, 15 сен 2011

KKH
> (=<`:9876Z4321UT.-Q+*)M'&%$H"!~}|Bzy?=|{z]KwZY44Eq0/{mlk**
> hKs_dG5[m_BA{?-Y;;Vb'rR5431M}/.zHGwEDCBA@98\6543W10/.R,+O<
Нет, найденная на лиспе была
(=<`$9]7<5YXz7wT.3,+O/o'K%$H"'~D|#z@b=`{^Lx8%$Xmrkpohm-kNi;gsedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543s+O<oLm
И писала "HEllO WORld".
А так нормальный язык, даже 99 bottles на нем есть. Только адресное пространство маленькое (и большая часть из него на стартовый загрузчик\ пустые циклы уходит).

#14
23:59, 15 сен 2011

Lamer007
Лучше уж в таком, чем в никаком. Многие, конечно, хотели бы от языка немного другого вектора развития. Однако те рамки, которые изначально заложены в языке, определяют достаточно тонкую грань между "синтаксическим сахаром" и "выходом за рамки и потерей обратной совместимости".

Страницы: 1 2 314 15 Следующая »
ПрограммированиеФорумОбщее

Тема в архиве.