The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"В стандарте C++11 ожидаются значительные изменения языка C++"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"В стандарте C++11 ожидаются значительные изменения языка C++"  +/
Сообщение от opennews (ok) on 22-Июн-11, 21:58 
В статье "The Biggest Changes in C++11 (http://www.softwarequalityconnection.com/2011/06/the-biggest.../)" один из членов комитета по стандартизации языка C++ привел практические примеры изменений, ожидаемых в будущем стандарте C++11. Изменения ожидаются значительные, например, Бьерн Страуструп, создатель C++, упомянул (http://www.codeguru.com/article.php/c18357) в одном из интервью, что C++11 ощущается как новый язык, части которого сочетаются друг с другом лучше. В статье показано как язык C++ может быть улучшен и как эти улучшения могут помочь в написании более качественного кода.

URL: http://www.softwarequalityconnection.com/2011/06/the-biggest.../
Новость: http://www.opennet.me/opennews/art.shtml?num=30960

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "В стандарте C++11 ожидаются значительные изменения языка C++"  –6 +/
Сообщение от Аноним123321 (ok) on 22-Июн-11, 21:58 
от макросов избавляться не планируется?

...всё также нельзя будет создавать имена переменных с именем "stdout" [и прочими бесчисленными количествами подводных макросов] ? :-D

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "В стандарте C++11 ожидаются значительные изменения языка C++"  –1 +/
Сообщение от Аноним (??) on 22-Июн-11, 22:11 
int main()
{
int stdout = 42;
std::cout<<stdout<<std::endl;
}

Выводит 42, ЧЯДНТ?

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

9. "В стандарте C++11 ожидаются значительные изменения языка C++"  +/
Сообщение от Аноним123321 (ok) on 22-Июн-11, 23:00 
хм... да....
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

14. "В стандарте C++11 ожидаются значительные изменения языка C++"  +/
Сообщение от Аноним (??) on 22-Июн-11, 23:10 
> от макросов избавляться не планируется?

Каким образом и зачем? Для большей части и в C++ есть замена макросам - от enum до перегруженных функций и шаблонов, для остального до сих пор нет лучшего решения, чем препроцессор; скажем, D'шные (забыл как это у них называется, аналог #ifdef _linux_) не работают вообще. Более того, в любом другом языке есть и всегда будут такие же C'шные макросы (ибо пользоваться cpp никто никогда не запретит). Так что нет, не планируется.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

42. "В стандарте C++11 ожидаются значительные изменения языка C++"  +/
Сообщение от Аноним (??) on 23-Июн-11, 11:50 
И хорошо что не планируется. Ломать - не строить!
Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

22. "В стандарте C++11 ожидаются значительные изменения языка C++"  +/
Сообщение от Сергей (??) on 23-Июн-11, 01:29 
Макросы - очень мощный инструмент. Отказываться от него бредово. И я больше чем уверен, что этого не будет НИКОГДА. Так что не парьтесь и переходите на Яву, если считаете С++ сложным, запутанным и пр.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

30. "В стандарте C++11 ожидаются значительные изменения языка C++"  +/
Сообщение от Vkni on 23-Июн-11, 06:07 
> от макросов избавляться не планируется?

Ни в коем случае. Макросы позволяют очень много полезнейших вещей. К примеру, эмулировать "reflection", писать прекрасные отладочные сообщения, делать многоплатформенные программы и т.д.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

43. "В стандарте C++11 ожидаются значительные изменения языка C++"  +/
Сообщение от Аноним (??) on 23-Июн-11, 11:51 
И они это позволяют делать просто и удобно. Еще не хватало - отказываться от них.
Ответить | Правка | ^ к родителю #30 | Наверх | Cообщить модератору

80. "В стандарте C++11 ожидаются значительные изменения языка C++"  +/
Сообщение от Аноним (??) on 24-Июн-11, 18:32 
> от макросов избавляться не планируется?

А как же метапрограммирование? Без макросов особо не напишешь такого.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

2. "В стандарте C++11 ожидаются значительные изменения языка C++"  +4 +/
Сообщение от brother anon on 22-Июн-11, 22:04 
мне кажется из С++ уже пора выкидывать фичи а не добавлять
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

6. "В стандарте C++11 ожидаются значительные изменения языка C++"  +2 +/
Сообщение от anonymous (??) on 22-Июн-11, 22:52 
>мне кажется из С++ уже пора выкидывать фичи а не добавлять

Ага, только вот адекватной замены так и не видно. До сих пор.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

40. "В стандарте C++11 ожидаются значительные изменения языка C++"  +1 +/
Сообщение от brother anon on 23-Июн-11, 10:20 
> Ага, только вот адекватной замены так и не видно. До сих пор.

Вообще-то возможности компьютеров сильно выросли с момента создания С++.
Поэтому нет необходимости насиловать себе мозг С++, можно взять любой язык высокого уровня и писать на нём, а какой-нибудь критичный к скорости алгоритм сделать на С. Для с компьютеров с ограниченными возможностями есть опять таки же С, который (в стандарте С99) очень удобен и прост.


Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

71. "В стандарте C++11 ожидаются значительные изменения языка C++"  +/
Сообщение от Аноним (??) on 24-Июн-11, 02:28 
> Вообще-то возможности компьютеров сильно выросли с момента создания С++

И? Сложность задач растёт всё равно бысрее, а выкинуть три четверти производительности и большую часть памяти ради неноучек от программирования которые не хотят делать delete? Не будет этого.

Ответить | Правка | ^ к родителю #40 | Наверх | Cообщить модератору

41. "В стандарте C++11 ожидаются значительные изменения языка C++"  +/
Сообщение от Codir on 23-Июн-11, 11:45 
Уже сто лет как вышел D. Вылезаем из танка?
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

44. "В стандарте C++11 ожидаются значительные изменения языка C++"  +/
Сообщение от Аноним (??) on 23-Июн-11, 11:51 
> Уже сто лет как вышел D. Вылезаем из танка?

Это который сам с собой не совместим? ;)

Ответить | Правка | ^ к родителю #41 | Наверх | Cообщить модератору

51. "В стандарте C++11 ожидаются значительные изменения языка C++"  +2 +/
Сообщение от Аноним (??) on 23-Июн-11, 12:01 
> Уже сто лет как вышел D. Вылезаем из танка?

Вылезли. Посмотрели. Обломались найти хоть один нормальный компилер и хоть одну убедительную программу. Залезли обратно и поехали дальше своей дорогой...

Ответить | Правка | ^ к родителю #41 | Наверх | Cообщить модератору

23. "В стандарте C++11 ожидаются значительные изменения языка C++"  +2 +/
Сообщение от Сергей (??) on 23-Июн-11, 01:30 
> мне кажется из С++ уже пора выкидывать фичи а не добавлять

мне так не кажется

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

25. "В стандарте C++11 ожидаются значительные изменения языка C++"  +3 +/
Сообщение от Сергей (??) on 23-Июн-11, 01:35 
не умеете использовать фичи - не пользуйтесь этими фичами
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

39. "В стандарте C++11 ожидаются значительные изменения языка C++"  –2 +/
Сообщение от brother anon on 23-Июн-11, 10:06 
> не умеете использовать фичи - не пользуйтесь этими фичами

В том-то и дело, что большинство фич C++ это хуже, чем ничего.
Сначала радостно используешь фичу, потом понимаешь, что без неё всё гораздо проще,
в следующий раз уже сразу отбрасываешь этот хлам.

В любом С++ проекте есть список фич языка, которые нельзя использовать.
Наверное никто не умеет ими пользоваться :-)

Ответить | Правка | ^ к родителю #25 | Наверх | Cообщить модератору

46. "В стандарте C++11 ожидаются значительные изменения языка C++"  +1 +/
Сообщение от Аноним (??) on 23-Июн-11, 11:53 
> Наверное никто не умеет ими пользоваться :-)

На что Вы хотели? Уровень программистов падает с каждым годом.

Ответить | Правка | ^ к родителю #39 | Наверх | Cообщить модератору

52. "В стандарте C++11 ожидаются значительные изменения языка C++"  +/
Сообщение от Аноним (??) on 23-Июн-11, 12:06 
> На что Вы хотели? Уровень программистов падает с каждым годом.

А меня вот бесит что чемпион мира по бегу бегает быстрее чем я. Давайте ему ноги ампутируем?! Тогда я смогу бегать быстрее чемпиона мира по бегу! \m/ \m/

Ответить | Правка | ^ к родителю #46 | Наверх | Cообщить модератору

55. "В стандарте C++11 ожидаются значительные изменения языка C++"  +/
Сообщение от brother anon on 23-Июн-11, 12:23 
> А меня вот бесит что чемпион мира по бегу бегает быстрее чем
> я. Давайте ему ноги ампутируем?! Тогда я смогу бегать быстрее чемпиона
> мира по бегу! \m/ \m/

Что курил? Если тебе так нравятся сравнения жопы с пальцем, насладись моим ответом:
Мы не хотим бегать в неудобных кроссовках, поэтому выкидываем их из нашей команды :-D

Ответить | Правка | ^ к родителю #52 | Наверх | Cообщить модератору

81. "В стандарте C++11 ожидаются значительные изменения языка C++"  +/
Сообщение от Аноним (??) on 24-Июн-11, 19:52 
> Мы не хотим бегать в неудобных кроссовках, поэтому выкидываем их из нашей команды :-D

Бегайте босиком, ага. Только это слегка травмоопасно...

Ответить | Правка | ^ к родителю #55 | Наверх | Cообщить модератору

50. "В стандарте C++11 ожидаются значительные изменения языка C++"  +/
Сообщение от Аноним (??) on 23-Июн-11, 12:00 
> Наверное никто не умеет ими пользоваться :-)

Хм, а если кто-то не умеет вообще ни одной фичой пользоваться - тогда видимо надо запретить языки программирования вообще? :)

Ответить | Правка | ^ к родителю #39 | Наверх | Cообщить модератору

54. "В стандарте C++11 ожидаются значительные изменения языка C++"  +/
Сообщение от brother anon on 23-Июн-11, 12:21 
Если под "умением использовать" ты понимаешь умение ловко обходить все грабли щедро рассыпанные создателями языка, то это называется "есть кактус", а не "умение использовать".

Скажи например разработчикам LLVM, что они не умеют использовать исключения в С++, а то понимаешь ламера собрались компиляторы пишут.

Ответить | Правка | ^ к родителю #50 | Наверх | Cообщить модератору

59. "В стандарте C++11 ожидаются значительные изменения языка C++"  +/
Сообщение от Вова on 23-Июн-11, 17:13 
> Если под "умением использовать" ты понимаешь умение ловко обходить все грабли щедро
> рассыпанные создателями языка, то это называется "есть кактус", а не "умение
> использовать".
> Скажи например разработчикам LLVM, что они не умеют использовать исключения в С++,
> а то понимаешь ламера собрались компиляторы пишут.

Да, спецификация исключений  - общеизвестное зло.

Ответить | Правка | ^ к родителю #54 | Наверх | Cообщить модератору

60. "В стандарте C++11 ожидаются значительные изменения языка C++"  +/
Сообщение от Okruzhor (ok) on 23-Июн-11, 17:40 
> Да, спецификация исключений  - общеизвестное зло.

Что всё-таки плохого в исключениях ? Только возможность нового исключения при обработке перехваченного ? Или что-то ещё ?

Ответить | Правка | ^ к родителю #59 | Наверх | Cообщить модератору

61. "В стандарте C++11 ожидаются значительные изменения языка C++"  +1 +/
Сообщение от Вова on 23-Июн-11, 18:37 
Речь не об исключениях как приёме программирования, а именно об спецификации исключений при объявлении функций/методов. В более-менее сложном проекте - это верный путь к сегфалтам.
Ответить | Правка | ^ к родителю #60 | Наверх | Cообщить модератору

26. "В стандарте C++11 ожидаются значительные изменения языка C++"  +/
Сообщение от Аноним (??) on 23-Июн-11, 02:21 
Ну вперёд - рассказывайте что бы вы выкинули, и чем бы вы это заменили.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

38. "В стандарте C++11 ожидаются значительные изменения языка C++"  +/
Сообщение от brother anon on 23-Июн-11, 10:00 
Всё уже придумано, называется D. Andrei Alexandrescu seal of approval.
Ответить | Правка | ^ к родителю #26 | Наверх | Cообщить модератору

72. "В стандарте C++11 ожидаются значительные изменения языка C++"  +/
Сообщение от Аноним (??) on 24-Июн-11, 02:30 
> Всё уже придумано, называется D. Andrei Alexandrescu seal of approval.

В D нет принципиальных отличий от C++. Только вы об этом не знаете, потому что в глаза его не видели. И никто не видел, потому что мертврoжденный язык никому не нyжен.

Ответить | Правка | ^ к родителю #38 | Наверх | Cообщить модератору

58. "В стандарте C++11 ожидаются значительные изменения языка C++"  –1 +/
Сообщение от dq0s4y71 (??) on 23-Июн-11, 14:34 
Объясните, пожалуйста, зачем в языке нужны три способа преобразования типов?

1) (type)x
2) type(x)
3) static_cast<type>(x), dynamic_cast<type>(x), ...

(Особенно последнее уродство убивает. Оно, наверное, специально так было задумано, чтобы программист лишний раз подумал, а нужно ли ему преобразовывать типы...)

Зачем нужны два способа вывода на стандартный вывод?

1) printf(...)
2) cout << "..."

(Я не спрашиваю, что нужно было курить, чтобы начать использовать привычный оператор сдвига в качестве оператора вывода... Оо)

Зачем нужны ссылки (&), когда есть указатели (*), и на уровне машинного кода они чаще всего работают одинаково?

Зачем в Boost нужны 10 типов указателей (auto_ptr, linked_ptr, scoped_ptr, shared_ptr, smart_ptr, weak_ptr, intrusive_ptr, exception_ptr...) и знаете ли вы как пользоваться каждым из них?

Почему все существующие библиотеки (STL, Boost, MFC, VCL...) определяют одни и те же структуры данных типа List или Matrix, несовместимые между собой?

Продолжать? :)

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

Ответить | Правка | ^ к родителю #26 | Наверх | Cообщить модератору

62. "В стандарте C++11 ожидаются значительные изменения языка C++"  +1 +/
Сообщение от тоже Аноним email(ok) on 23-Июн-11, 18:44 
Три способа преобразования типов работают по-разному, если применяются не к примитивным типам. "Последнее уродство" позволяет программисту быть однозначно уверенным в том, как именно будет произведено преобразование.

Два способа вывода - это С и С++, что вас смущает?

Передача аргумента по ссылке удобна, например, тогда, когда этот аргумент является указателем. С чего она вам помешала, если вы понимаете, что это просто способ передать указатель на объект?

Boost - тестовая лаборатория с кучей велосипедов, именно поэтому он не входит в стандарт.

Из существующих библиотек к стандарту языка относится только одна - STL. Почему МС и Борланд сделали свои, несовместимые ни с кем классы? Да потому что они всегда так делали и делают!

Ответить | Правка | ^ к родителю #58 | Наверх | Cообщить модератору

68. "В стандарте C++11 ожидаются значительные изменения языка C++"  –1 +/
Сообщение от dq0s4y71 (??) on 23-Июн-11, 23:32 
> Три способа преобразования типов работают по-разному, если применяются не к примитивным типам. "Последнее уродство" позволяет программисту быть однозначно уверенным в том, как именно будет произведено преобразование.

Да? Ну и как же по-разному работают преобразования в трех последних строчках следующего кода?

class A {
    // очень сложный класс ...
};
class B {
    // другой очень сложный класс ...
};
typedef B * Bptr; // бесполезный указатель - только для иллюстрации
...
A * a = new A;
...
B * b = (B*)a;
B * b = Bptr(a);
B * b = reinterpret_cast<B*>(a);

> Два способа вывода - это С и С++, что вас смущает?

Зачем в ОДНОМ языке ДВА способа вывода на stdin? Почему одного не достаточно?

> Передача аргумента по ссылке удобна, например, тогда, когда этот аргумент является указателем. С чего она вам помешала, если вы понимаете, что это просто способ передать указатель на объект?

Зачем изобретать лишнюю сущность? Если я понимаю, что это указатель, почему бы и не передавать и не использовать его как указатель?

> Boost - тестовая лаборатория с кучей велосипедов, именно поэтому он не входит в стандарт.

А что, есть надежда, что эти 10 типов указателей там когда-нибудь будут упразднены и заменены одним, универсальным?

Ответить | Правка | ^ к родителю #62 | Наверх | Cообщить модератору

69. "В стандарте C++11 ожидаются значительные изменения языка C++"  +1 +/
Сообщение от тоже Аноним email(ok) on 24-Июн-11, 00:08 
> Ну и как же по-разному работают преобразования в трех последних строчках следующего кода?

Если вы этого не знаете, почитайте учебник или хотя бы блоги. Например, http://alenacpp.blogspot.com/2005/08/c.html

Вообще, классический тролль-пост. Фу.

Ответить | Правка | ^ к родителю #68 | Наверх | Cообщить модератору

75. "В стандарте C++11 ожидаются значительные изменения языка C++"  +/
Сообщение от dq0s4y71 (??) on 24-Июн-11, 12:23 
> Если вы этого не знаете, почитайте учебник или хотя бы блоги. Например, http://alenacpp.blogspot.com/2005/08/c.html

Что, не можете дать ответ? Значит, вы и не знаете. А ответ очень прост: во всех трёх случаях преобразования работают АБСОЛЮТНО ОДИНАКОВО, то есть мы имеем дело с классическим "велосипедом".

> Вообще, классический тролль-пост. Фу.

Ну, это понятно. Если аргументы по теме кончились, нужно обозвать оппонента троллем.

Ответить | Правка | ^ к родителю #69 | Наверх | Cообщить модератору

82. "В стандарте C++11 ожидаются значительные изменения языка C++"  +/
Сообщение от WinPooh on 24-Июн-11, 19:52 
> Оно, наверное, специально так было задумано, чтобы программист лишний раз подумал, а нужно ли ему преобразовывать типы.

Да, в том числе и поэтому! О чём Страуструп честно рассказывает в D&E.

> во всех трёх случаях преобразования работают АБСОЛЮТНО ОДИНАКОВО

Работают они, может быть, и одинаково. Но представьте такую задачу: найти в большом наборе исходных файлов все случаи приведения типов. С использованием static_cast задача решается мгновенно простым поиском по тексту. С использованием традиционного синтаксиса - для поиска придётся стать компилятором.

И, конечно, dynamic_cast мешать в общую кучу не следует, это совсем другой случай.

Ответить | Правка | ^ к родителю #75 | Наверх | Cообщить модератору

89. "В стандарте C++11 ожидаются значительные изменения языка C++"  +/
Сообщение от dq0s4y71 (??) on 25-Июн-11, 13:13 
> Да, в том числе и поэтому! О чём Страуструп честно рассказывает в D&E.

Чем рассказывать, лучше бы сделал свой язык  нетипизированным, тогда проблема приведения типов даже не возникла бы. Ан нет! Гораздо удобнее взять хорошо распиаренный Си, приделать к нему своих костылей, и потом рассказывать всем, что это и есть правильно.

> Но представьте такую задачу: найти в большом наборе исходных файлов все случаи приведения типов.

Скажите, когда в последний раз вам приходилось искать в исходниках все приведения типов? Я, например, такого случая в своей 15-летней программистской практике вспомнить не могу. На написание этого уродского оператора за весь этот период ушло бы больше времени, чем на поиск всех приведений типов.

Ответить | Правка | ^ к родителю #82 | Наверх | Cообщить модератору

63. "В стандарте C++11 ожидаются значительные изменения языка C++"  –2 +/
Сообщение от alex (??) on 23-Июн-11, 20:20 
>[оверквотинг удален]
> кода они чаще всего работают одинаково?
> Зачем в Boost нужны 10 типов указателей (auto_ptr, linked_ptr, scoped_ptr, shared_ptr,
> smart_ptr, weak_ptr, intrusive_ptr, exception_ptr...) и знаете ли вы как пользоваться
> каждым из них?
> Почему все существующие библиотеки (STL, Boost, MFC, VCL...) определяют одни и те
> же структуры данных типа List или Matrix, несовместимые между собой?
> Продолжать? :)
> Теперь о том, чем бы я все это заменил. Я бы, честно
> говоря, все это выкинул вместе с С++ и заменил бы языком,
> более подходящим для решения каждой конкретной задачи.

Sorry man, but you are a total lamer in C++, according to your kindergarten questions?
Please don't humiliate yourself.

Ответить | Правка | ^ к родителю #58 | Наверх | Cообщить модератору

70. "В стандарте C++11 ожидаются значительные изменения языка C++"  +/
Сообщение от Сергей (??) on 24-Июн-11, 02:25 
По поводу ссылок и указателей... Указатель бывает нулевым, а ссылка - нет. Соответственно для указателей нужно добавлять проверку на нулевой указатель, возвращать какой-то код ответа или исключение, в вызывающей функции делать то же самое и т.д. вплоть до функции самого нижнего уровня (main, например). Кроме того, при передаче по ссылке может неявно вызываться конструктор передаваемого объекта. С указателем такого нет. Так что не путайте ссылки и указатели. Это совсем разные вещи.
Ответить | Правка | ^ к родителю #58 | Наверх | Cообщить модератору

76. "В стандарте C++11 ожидаются значительные изменения языка C++"  +/
Сообщение от dq0s4y71 (ok) on 24-Июн-11, 13:20 
> Так что не путайте ссылки и указатели. Это совсем разные вещи.

Для процессора это абсолютно одинаковые вещи. Разница существует только на уровне синтаксиса языка, и только потому, что Страусструп придумал этот костыль и решил, что наряду с универсальным указателем он будет жутко удобным.

Удобство я вижу только одно: нужно писать '.' вместо '->' :) Но, как всегда в С++, одно небольшое удобство оборачивается бОльшим геморроем. Во-первых, как вы сами упомянули, при передаче по ссылке может неявно вызываться конструктор передаваемого объекта. Это делает код менее предсказуемым и программист должен всегда об этом помнить. Во-вторых, объект, передаваемый по ссылке, должен всегда существовать, даже если он мне не нужен. Например:

int my_write(const void * data, size_t bytes_to_write, size_t * bytes_written) {

   // ...

   if (bytes_written)
       bytes_written = count;
}

// ...

   my_write(my_data, n, 0); // мне не интересно знать, сколько байтов было записано

В С++ со ссылками такой номер не пройдет: если bytes_written - ссылка, хочешь - не хочешь, нужно заводить переменную и передавать ее в функцию.

Ответить | Правка | ^ к родителю #70 | Наверх | Cообщить модератору

79. "В стандарте C++11 ожидаются значительные изменения языка C++"  +1 +/
Сообщение от Аноним (??) on 24-Июн-11, 18:30 
Указатель можно передать левый, а ссылку нет.
Ответить | Правка | ^ к родителю #76 | Наверх | Cообщить модератору

83. "В стандарте C++11 ожидаются значительные изменения языка C++"  +1 +/
Сообщение от Аноним (??) on 24-Июн-11, 19:56 
> Указатель можно передать левый, а ссылку нет.

С указателями можно использовать арифметику, что позволяет в ряде случаев сделать очень эффективные в плане производительности фокусы, например избавившись от лишнего копирования данных в памяти ("zero-copy").А кто-то потом еще искренне удивляется чего это явы и дотнеты сливают в 4 раза в тяжелых вычислениях, и почему все игры в итоге на си++ как один пишут, да и тяжело нагруженные проекты нынче тоже на нем переписывают почему-то. Наверное потому что в 4 раза меньше серверов стоят в 4 раза меньше денег :)

Ответить | Правка | ^ к родителю #79 | Наверх | Cообщить модератору

92. "В стандарте C++11 ожидаются значительные изменения языка C++"  +/
Сообщение от Сергей (??) on 25-Июн-11, 23:57 
Ссылку можно легко преобразовать в указатель операцией получения адреса &, а потом играться с указателем сколько угодно.
Ответить | Правка | ^ к родителю #83 | Наверх | Cообщить модератору

90. "В стандарте C++11 ожидаются значительные изменения языка C++"  +/
Сообщение от dq0s4y71 (??) on 25-Июн-11, 13:17 
> Указатель можно передать левый, а ссылку нет.

Если постараться, то можно и член сломать :)

Ответить | Правка | ^ к родителю #79 | Наверх | Cообщить модератору

93. "В стандарте C++11 ожидаются значительные изменения языка C++"  +/
Сообщение от Сергей (??) on 26-Июн-11, 00:01 
>> Указатель можно передать левый, а ссылку нет.
> Если постараться, то можно и член сломать :)

Передача нулевого указателя - очень часто встречающийся глюк. Ссылки спасают от этого. Кроме того, т.к. не нужно добавлять проверку на нулевой указатель и кучу проверок в родительских функциях, то код со ссылками работает быстрее.

Ответить | Правка | ^ к родителю #90 | Наверх | Cообщить модератору

94. "В стандарте C++11 ожидаются значительные изменения языка C++"  +/
Сообщение от Сергей (??) on 26-Июн-11, 00:18 
>> Так что не путайте ссылки и указатели. Это совсем разные вещи.
> Для процессора это абсолютно одинаковые вещи. Разница существует только на уровне синтаксиса языка

Учитывая, что код, который пишет программист и генерирует компилятор до передачи в функцию и внутри функции, разный, то на уровне ассемлера это всё таки разные вещи: иногда неявный вызов конструктора для ссылок и проверка на NULL для указателя.

Но повторюсь, лично я не противопоставляю эти два инструмента, а использую их оба в зависимости от ситуации.

Ответить | Правка | ^ к родителю #76 | Наверх | Cообщить модератору

31. "В стандарте C++11 ожидаются значительные изменения языка C++"  +1 +/
Сообщение от Vkni on 23-Июн-11, 06:08 
> мне кажется из С++ уже пора выкидывать фичи а не добавлять

Это и Страуструпу кажется. Только вот, к сожалению, невозможно. Иначе бы он давным давно этим воспользовался.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

34. "В стандарте C++11 ожидаются значительные изменения языка C++"  +/
Сообщение от Ostrov (??) on 23-Июн-11, 09:01 
"Страусс" уже давно живой памятник, от которого мало что зависит в его собственном детище.
Ответить | Правка | ^ к родителю #31 | Наверх | Cообщить модератору

49. "В стандарте C++11 ожидаются значительные изменения языка C++"  +/
Сообщение от Аноним (??) on 23-Июн-11, 11:59 
> "Страусс" уже давно живой памятник, от которого мало что зависит в его
> собственном детище.

Просто если вы выбросите фичи - придут те у кого сломались программы. Отщипнут от вас по кусочку. И в результате от вас очень скоро останется отполированный до блеска ... скелет.

Ответить | Правка | ^ к родителю #34 | Наверх | Cообщить модератору

45. "В стандарте C++11 ожидаются значительные изменения языка C++"  +/
Сообщение от Аноним (??) on 23-Июн-11, 11:52 
> мне кажется из С++ уже пора выкидывать фичи а не добавлять

Зачем? Потеряется обратная совместимость, перестанет работать куча софта, кто-то не сможет пользоваться удобными ему конструкциями. В каком месте наступит профит?

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

3. "В стандарте C++11 ожидаются значительные изменения языка C++"  +12 +/
Сообщение от atropos on 22-Июн-11, 22:04 
эта новость здесь только для того, что бы отправить читателя по ссылке? по моему, без списка изменений, хотя бы краткого, это даже на заметку не тянет
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

18. "В стандарте C++11 ожидаются значительные изменения языка C++"  +2 +/
Сообщение от Аноним (??) on 23-Июн-11, 00:22 
Вообще-то в мини-новостях изначально кидали только ссылки на подобные статьи с краткой аннотацией. Но в последние годы разбаловали вас. Общество потребителей, нет что бы дополнить, под новостью есть кнопка "исправить".
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

53. "В стандарте C++11 ожидаются значительные изменения языка C++"  +/
Сообщение от atropos on 23-Июн-11, 12:11 
новая стратегия маркетинга? плоха не новость, а плох тот кто её читает? вообще это называется критика и нужна она для того, что бы держать новости на уровне. думаю даже ты догадываешься на сайт с какими новостями скорее придёт читатель
Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

78. "В стандарте C++11 ожидаются значительные изменения языка C++"  +/
Сообщение от Аноним (??) on 24-Июн-11, 18:22 
> эта новость здесь только для того, что бы отправить читателя по ссылке?
> по моему, без списка изменений, хотя бы краткого, это даже на
> заметку не тянет

ты ошибся ресурсом, это не лор.

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "В стандарте C++11 ожидаются значительные изменения языка C++"  +2 +/
Сообщение от Below (ok) on 22-Июн-11, 22:47 
Наверное очень трудно создавать стандарты, которые будут использовать лет через 10. Это сколько всего нужно предусмотреть, тяжелая работа наверное.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

48. "В стандарте C++11 ожидаются значительные изменения языка C++"  –3 +/
Сообщение от Kodir (ok) on 23-Июн-11, 11:57 
Вот потому, что это трудно, нельзя допускать в индустрию "поделки" одиночных "гениев" - сначала они должны доказать, что каждое их решение было взвешенным и не имеет альтернатив. А то, что Страус прикрутил ООП к ассемблеру - так это хобби, а не "стандарт"!
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

87. "В стандарте C++11 ожидаются значительные изменения языка C++"  +/
Сообщение от Аноним (??) on 24-Июн-11, 22:31 
> Вот потому, что это трудно, нельзя допускать в индустрию "поделки" одиночных "гениев"
> - сначала они должны доказать, что каждое их решение было взвешенным
> и не имеет альтернатив. А то, что Страус прикрутил ООП к
> ассемблеру - так это хобби, а не "стандарт"!

Как-то так получилось, что это одиг из самых популярных языков программирования и альтернативы ему нет. Так что адекватные программисты смотрят на тебя как на известно что.

Ответить | Правка | ^ к родителю #48 | Наверх | Cообщить модератору

91. "В стандарте C++11 ожидаются значительные изменения языка C++"  +/
Сообщение от Below (ok) on 25-Июн-11, 23:24 
>> Вот потому, что это трудно, нельзя допускать в индустрию "поделки" одиночных "гениев"
>> - сначала они должны доказать, что каждое их решение было взвешенным
>> и не имеет альтернатив. А то, что Страус прикрутил ООП к
>> ассемблеру - так это хобби, а не "стандарт"!
> Как-то так получилось, что это одиг из самых популярных языков программирования и
> альтернативы ему нет. Так что адекватные программисты смотрят на тебя как
> на известно что.

Не путайте C и С++

Ответить | Правка | ^ к родителю #87 | Наверх | Cообщить модератору

11. "В стандарте C++11 ожидаются значительные изменения языка C++"  +/
Сообщение от Аноним (??) on 22-Июн-11, 23:04 
Ну ничего, оно, наверн, к 2025му году только выйдет. Сколько там уже 0х делается? )
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

21. "В стандарте C++11 ожидаются значительные изменения языка C++"  +/
Сообщение от Аноним (??) on 23-Июн-11, 00:26 
C++11 и есть C++0x
Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

13. "В стандарте C++11 ожидаются значительные изменения языка C++"  +/
Сообщение от croster (ok) on 22-Июн-11, 23:05 
Прочитал всю статью по ссылке, спасибо за информацию. Единственная проблема состоит в том, что будет необходимо создание новых (и переписывание старых приложений), использующих новые фишки языка, а на это уйдет немало времени.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

27. "В стандарте C++11 ожидаются значительные изменения языка C++"  +/
Сообщение от Аноним (??) on 23-Июн-11, 02:24 
> Прочитал всю статью по ссылке, спасибо за информацию. Единственная проблема состоит в
> том, что будет необходимо создание новых (и переписывание старых приложений), использующих
> новые фишки языка, а на это уйдет немало времени.

Зачем? Это, блин, не проприетарные "фичи" отдельных производителей CPU из 80-x, для поддержки которых надо было специальный ассемблерный код писать. И переписывать ничего не надо. Хочешь - бери и пиши новый код с C++0x фичами (что можно было делать и делали уже много лет), не хочешь - не пиши.

Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

47. "В стандарте C++11 ожидаются значительные изменения языка C++"  +/
Сообщение от Аноним (??) on 23-Июн-11, 11:55 
Как ни странно, "специальный ассемблерный код" пишут и в 2011 году. Кто же виноват что аккуратное переписывание критичного куска на ассемблере (например с SIMD командами) повышает скорость работы этого куска порой в несколько раз? Яркий пример - кодеки ;). Или совершенно любая задача для скоростных вычислений, например любой уважающий себя крэкер хешей внаглую использует жесточайший asm. А то и GPU вообще.
Ответить | Правка | ^ к родителю #27 | Наверх | Cообщить модератору

85. "В стандарте C++11 ожидаются значительные изменения языка C++"  +/
Сообщение от croster (ok) on 24-Июн-11, 21:43 
>Хочешь - бери и пиши новый код с C++0x фичами (что можно было делать и делали уже много лет), не хочешь - не пиши.

Если не писать новый код, то тогда и смысла во внедрении нового стандарта никакого, так как текущий код прекрасно компилируется и старыми компиляторами.

Ответить | Правка | ^ к родителю #27 | Наверх | Cообщить модератору

16. "В стандарте C++11 ожидаются значительные изменения языка C++"  +1 +/
Сообщение от тоже Аноним email(ok) on 22-Июн-11, 23:30 
> C++11 supports in-class initialization of data members:

Вот эта мелочь реально могла появиться в этом языке еще лет двадцать назад. Неужели никому до сих пор не мешала необходимость запихивать инициализацию даже самых тривиальных членов в конструктор класса?

> In C++11 a constructor may call another constructor of the same class

Аналогично - что мешало сделать это раньше? Правда, более интересным вариантом был бы вызов одного конструктора из любой точки другого. Чаще варианты конструктора требуют предварительной подготовки, сводящей исходные данные к тем, которые нужны классу для создания. Естественно, операции в конструкторе до вызова другого конструктора не должны обращаться к нестатическим членам и методам класса.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

19. "В стандарте C++11 ожидаются значительные изменения языка C++"  +/
Сообщение от Аноним (??) on 23-Июн-11, 00:22 
Кстати инициализация не статичных членов класса в месте их объявления реализована в последних сборках gcc в флагом стандарта 0x.
Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

29. "В стандарте C++11 ожидаются значительные изменения языка C++"  +1 +/
Сообщение от Аноним (??) on 23-Июн-11, 02:32 
>> C++11 supports in-class initialization of data members:
> Вот эта мелочь реально могла появиться в этом языке еще лет двадцать назад

20 лет назад программирование было более строгим. Создание экземпляра класса происходит нигде, кроме конструктора - значит только там и должна быть инициализация мемберов. Сейчас, видимо, уже всем похрен - запихнём в объявление, хренли.

>> In C++11 a constructor may call another constructor of the same class
> Аналогично - что мешало сделать это раньше?

Вот тут, пожалуй, согласен - это нужно.

> Правда, более интересным вариантом был бы вызов одного конструктора из любой точки другого.

А вот это уже бред.

Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

36. "В стандарте C++11 ожидаются значительные изменения языка C++"  +1 +/
Сообщение от тоже Аноним (ok) on 23-Июн-11, 09:43 
Ну представьте, что у вас сложный класс с кучей, например, нестатичных переключателей (bool), которые нужно инициализировать в конструкторе.
Причем классов несколько, они все наследники некоего базового, и переключатели инициализируются по-разному.
У каждого из классов три конструктора: один - без аргументов, второй - с аргументами, рассыпанными по переменным, третий - с теми же аргументами, нетривиально собранными в один класс.
Не многовато ли тупого, однотипного кода придется писать с текущими ограничениями?

И главное - в чем принципиальная невозможность для компилятора подставить инициализацию нестатических членов в каждый объявленный конструктор автоматически?

Ответить | Правка | ^ к родителю #29 | Наверх | Cообщить модератору

56. "ожидаются значительные изменения"  –1 +/
Сообщение от Andrey Mitrofanov on 23-Июн-11, 12:34 
> Бьерн Страуструп, создатель C++, упомянул
> в одном из интервью, что C++11 ощущается как новый язык, части
> которого сочетаются друг с другом лучше.

Положительная новость! Наконец-то у старика Страустрапа есть железная отмазка!! %) "Наше .....ммммм.... язык! в _следующем _релизе _стандарта станет ......ммммммм.... уже не так плох. Нет, правда!"

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

57. "В стандарте C++11 ожидаются значительные изменения языка C++"  +/
Сообщение от yurkis (ok) on 23-Июн-11, 13:13 
Блин, а пропертей как небыло так и нет :(
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

65. "В стандарте C++11 ожидаются значительные изменения языка C++"  +/
Сообщение от тоже Аноним email(ok) on 23-Июн-11, 22:51 
Если они вам действительно нужны:
http://en.wikipedia.org/wiki/Property_%28programming�...
Ответить | Правка | ^ к родителю #57 | Наверх | Cообщить модератору

73. "В стандарте C++11 ожидаются значительные изменения языка C++"  +/
Сообщение от Аноним (??) on 24-Июн-11, 02:34 
> Блин, а пропертей как небыло так и нет :(

И, надеюсь, никогда не будет.

Ответить | Правка | ^ к родителю #57 | Наверх | Cообщить модератору

64. "В стандарте C++11 ожидаются значительные изменения языка C++"  –1 +/
Сообщение от арсен on 23-Июн-11, 20:52 
С++ в лучших традициях голивудского хорора: на последнем кадре из могилы вдруг высовывается рука. И становится ясно: труп все еще не труп.

Лично мне С++ напоминает автомобиль с ручной коробкой: все через это должны пройти, чтобы больше к этому не возвращаться.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

67. "В стандарте C++11 ожидаются значительные изменения языка C++"  +1 +/
Сообщение от aannoonn on 23-Июн-11, 23:11 
Крутая освоения - почти ветикальна ( освоить нужно все и сразу, не всем дано :( ) потому и нытье.  
Ответить | Правка | ^ к родителю #64 | Наверх | Cообщить модератору

74. "В стандарте C++11 ожидаются значительные изменения языка C++"  +/
Сообщение от Аноним (??) on 24-Июн-11, 02:37 
> С++ в лучших традициях голивудского хорора: на последнем кадре из могилы вдруг
> высовывается рука. И становится ясно: труп все еще не труп.

Звездите дальше. Весь софт написан на C и C++, и ничего на милых вашему сердцу тормозных динамических язычках с VM и GC.

> Лично мне С++ напоминает автомобиль с ручной коробкой: все через это должны
> пройти, чтобы больше к этому не возвращаться.

Вы банальнейший криворукий неосилятор :)

Ответить | Правка | ^ к родителю #64 | Наверх | Cообщить модератору

66. "В стандарте C++11 ожидаются значительные изменения языка C++"  +/
Сообщение от Аноним (??) on 23-Июн-11, 23:08 
та нормальные плюсы. конечно можно было бы упростить некоторые абсолютно рутинные и ненужные в современном мире вещи, но в списке их нет к сожалению. авторы заядлые плюсищники, готов поспорить что они на других языках никогда ничего не разрабатывали и потому ихнее видение улучшений именно такое..
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

88. "В стандарте C++11 ожидаются значительные изменения языка C++"  +/
Сообщение от Аноним (??) on 24-Июн-11, 22:34 
> та нормальные плюсы. конечно можно было бы упростить некоторые абсолютно рутинные и
> ненужные в современном мире вещи, но в списке их нет к

Тут скорее учитывая опыт C++ сделают новый язык. Примерно как с perl6.

Ответить | Правка | ^ к родителю #66 | Наверх | Cообщить модератору

86. "В стандарте C++11 ожидаются значительные изменения языка C++"  +/
Сообщение от croster (ok) on 24-Июн-11, 21:54 
>готов поспорить что они на других языках никогда ничего не разрабатывали и потому ихнее видение улучшений именно такое

Дело не только в том, что они заядлые плюсищники, а еще и в обратной совместимости. А это накладывает ограничения на возможность выбрасывания чего-либо из языка.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру