Каким должен быть С++?
, Ваше мнение
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.216.156] |
|
|
Правила раздела:
| Страницы: (6) 1 [2] 3 4 ... Последняя » все ( Перейти к последнему сообщению ) |
Каким должен быть С++?
, Ваше мнение
|
Сообщ.
#16
,
|
|
|
|
Цитата amk @ Тогда пункт 4 будет противоречить существующему синтаксису. А вот групповое присваивание не помешало бы. И может присваивание части массива. Привык уже в питоне без временных переменных обходиться: ![]() ![]() a, b = b, a # Обмен значениями a, b = b + a, a # при вычислении чисел Фибоначчи a, b = b, a%b # алгоритм Эвклида x, y = x*c - y*s, y*c + x*s # поворот вектора Тут тоже будет противоречие. Т.к. сейчас в ![]() ![]() int x, y = foo(); результат foo не имеет никакого отношения к x, а инициализирует только y. |
|
Сообщ.
#17
,
|
|
|
|
Цитата OpenGL @ Очень плохо представляю, даже отвратительно. Согласен, что тут "красота для глаз" сталкивается в войне с "удобством для рук". |
|
Сообщ.
#18
,
|
|
|
|
Цитата D_KEY @ Синтаксис питона для C++ не подойдёт. В питоне запятая является просто перечислением, и сама по себе формирует кортеж. А в С++ запятая является операцией, вычисляющей и отбрасывающей результат левого от неё выражения. То есть без некоторого обрамления не обойтись. Подошла бы запись вродеТут тоже будет противоречие. ![]() ![]() {a, b} = {b, foo(a)}; И в объявлениях множественное присваивание смысла обычно не имеет. |
|
Сообщ.
#19
,
|
|
|
|
Цитата Славян @ Ты сначала вспомни зачем были введены диграфы и триграфы. Вместо писанины y = sqrt(x) мы бы видели рисования корня над 'x' и далее, если надо. ... Чтобы неравенство можно было рисовать значком уникода ≠, а не городить непонятное многим "!=". |
|
Сообщ.
#20
,
|
|
|
|
Да. Выражение может быть или обычным, или определением, но целиком либо тем, или иным. Делать или нет определениями отдельные его операнды синтаксис выражений не позволяет. Но ты можешь произвольное выражение_не_определение замешать в инициализирующее значение выражения-определения:
![]() ![]() for (int i = (j = 10, 0); i < j; ++i) |
|
Сообщ.
#21
,
|
|
|
|
Та надо вообще отказаться от for в текущем виде и добавить интервалы =)
![]() ![]() // вместо for (int i = (j = 10, 0); i < j; ++i) // это for (int i = 10 in [0..j = i]) // вместо for (int i = 0; i < j; i+=5) // это for (int i in [0..j] by 5) |
|
Сообщ.
#22
,
|
|
|
|
Та оставить for как есть, бог с ним. Лучше выпилить switch, тот вообще неструктурный даже.
![]() ![]() switch(...) { case ...: if(...){/* ... */ case ...: /* ... */ case ...:;} else {/* ... */ case ...: /* ... */ break; case ...: /* ... */} } |
|
Сообщ.
#23
,
|
|
|
|
В Java с C# прочитал? Зочем? -> это для указателей, . - Для обычной семантики по значению. Если Заменить -> на . то как работать с указателями? Или выбросить их? Цитата prografix @ 3. От себя добавлю, что конструкции struct и class во многом совпадают, поэтому можно либо что-то из них убрать, либо сделать их более разными ( например, запретить в struct функции-члены ). Я думаю, что лучше оставить один class. А ещё лучше заменить его на type. Структура более лаконична, если нужно написать интерфейс. Не нужно пихать всякие public, и смотрится красиво. Не нужно. и type в топку. |
|
Сообщ.
#24
,
|
|
|
|
Serafim, держи. Смотреть надо на функцию main.
То, что выше - это "пережитки" C++11. В C++14 код будет сильно проще. |
|
Сообщ.
#25
,
|
|
|
|
Цитата Flex Ferrum @ Serafim, держи. Смотреть надо на функцию main. То, что выше - это "пережитки" C++11. В C++14 код будет сильно проще. Но это ведь маразм ради какой то сахарной фичи городить такой огород )) |
|
Сообщ.
#26
,
|
|
|
|
Цитата Wound @ Но это ведь маразм ради какой то сахарной фичи городить такой огород )) Так вот я и говорю - в C++14 будет много проще. |
|
Сообщ.
#27
,
|
|
|
|
Цитата Flex Ferrum @ Так вот я и говорю - в C++14 будет много проще. А сейчас как выходит стандарты? Каждый год? Или у них просто есть конечная цель и они ее реализуют? А то раньше както редко выходили новые стандларты. А щас чуть ли не каждый год-два |
|
Сообщ.
#28
,
|
|
|
|
Цитата Wound @ А сейчас как выходит стандарты? Сейчас вот "баг-фикс" в виде C++14, а потом будет С++17 c |
|
Сообщ.
#29
,
|
|
|
|
Цитата Flex Ferrum @ Сейчас вот "баг-фикс" в виде C++14, а потом будет С++17 c блэкджеком полиморфными аллокаторами и лайт-концептами. А есть компилятор уже с полностью реализованым стандартом что они приняли в 11 году? Пусть даже с какими то багами? А то я както давно уже пропустил тему. Добавлено gcc последний например ? Или это они его все пилить до 17 года будут? |
|
Сообщ.
#30
,
|
|
|
|
Цитата Wound @ gcc последний например ? Full-featured C++11 - это gcc 4.8 и, ЕМНИП, clang 3.3. clang 3.4 поддерживает уже почти все фишки C++14. |