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

Текст. C++11. (2 стр)

Страницы: 1 2 3 Следующая »
#15
9:52, 28 фев. 2016

-Eugene-
> Уменьшится. А значит меньше багов и быстрее писать.

Аааааааа , вот как раз не так давно вылезла проблема с auto - человек изучил последний стандарт и стал пихать в каждую строчку

> Ну и где-то ускорится.

Это интересно. Примеры в студию


#16
10:09, 28 фев. 2016

innuendo
>
> Аааааааа , вот как раз не так давно вылезла проблема с auto - человек изучил
> последний стандарт и стал пихать в каждую строчку
Ну, это уже его проблемы.

> Это интересно. Примеры в студию
move. Примеры сам нагуглишь или придумаешь по вкусу.

#17
11:20, 28 фев. 2016

innuendo
> Аааааааа , вот как раз не так давно вылезла проблема с auto
Какая?

#18
12:06, 28 фев. 2016

laMer007
> Какая?

auto f = GetDistance();

где double GetDistance()

хотя дальше по коду float вполне достаточно

-Eugene-
> move. Примеры сам нагуглишь или придумаешь по вкусу.

Ускоряется в 1 % случаев ? Я просто несказанно рад :)

#19
13:08, 28 фев. 2016

innuendo
> auto f = GetDistance();
> где double GetDistance()
double f = GetDistance();
вызвало бы такую же проблему
и вообще, auto нужно не для того чтобы убирать из поля зрения все типы переменных, а только тех которые иначе бы загромождали код
я рад что могу забыть времена когда для каждого stl контейнера создавал typedef чтобы быстро по нему объявлять переменную итератора

#20
13:28, 28 фев. 2016

ashujon
> вызвало бы такую же проблему

Нет.

double f - я чётко вижу какой тип.
auto f - я должен знать какой там тип у функции

> и вообще, auto нужно не для того чтобы убирать из поля зрения все типы
> переменных, а только тех которые иначе бы загромождали код

Мне всё равно для чего его придумали, я вижу результаты использования

> я рад что могу забыть времена когда для каждого stl контейнера создавал typedef
> чтобы быстро по нему объявлять переменную итератора

Ох, кода обхода по итераторам сколько в % ?

Лучшее - враг хорошего. Хочется нового или свободы - есть Python/Lua и тп. Нечего усложнять и так сложный C++


#21
14:43, 28 фев. 2016

innuendo
> Нечего усложнять и так сложный C++

Я бы сказал, что все нововведения упростили C++. Код выглядит нагляднее и компактнее.

#22
14:46, 28 фев. 2016

NBG
> Я бы сказал, что все нововведения упростили C++

Давайте упростим до уровня Python - я не против :)

#23
14:59, 28 фев. 2016

innuendo
> Давайте упростим до уровня Python - я не против :)
Будет хорошо, вот только zero-cost не сохранится там, где он сейчас есть. А новые стандарты упрощают использование языка, сохраняя этот самый zero-cost.

#24
15:01, 28 фев. 2016

innuendo
> auto f = GetDistance();
>
> где double GetDistance()
>
> хотя дальше по коду float вполне достаточно

Несчитается, пример не верен. Вопрос стоял в чем проблема auto, а не в том существуют ли говнокодеры или нет. Таких примеров и в старом стандарте можно написать целую кучу (а новые стандарты сделали язык лучше, это понимают те кому раньше не хватало explicit operator bool() и прочих вещей).

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

#25
15:17, 28 фев. 2016

ZeroCool++
> Несчитается, пример не верен. Вопрос стоял в чем проблема auto, а не в том
> существуют ли говнокодеры или нет.

Ты не понял в чём проблема auto ?

Alexander K
> А новые стандарты упрощают использование языка

Конкретно в этом примере мне было проще без auto

#26
15:24, 28 фев. 2016

ZeroCool++
> те кто хоть мало-мальски разбираются в идиомах С++, знают
> что он нужен для метапрограммирования, а также в тех местах, где сложно вывести
> тип результата.

Ну я мало-мальски разбираюсь в идиомах. Я даже помню C++ без шаблонов

А ты знаешь, что такое метапрограммирование ? Которое в C++ - это курам на смех

#27
16:02, 28 фев. 2016

innuendo
> Ты не понял в чём проблема auto ?

Скажу еще раз - пример не верен. В том, что прогер написал говнокод это не проблема auto. Скажу по другому: в том примере не нужен auto, это пример как НЕ нужно использовать auto (и это не проблемы auto, еще раз).

innuendo
> А ты знаешь, что такое метапрограммирование ? Которое в C++ - это курам на смех

Ну, любитель питона, назови ка мне хоть один язык кроме С++, который поддерживает статическое метапрограммирование (и я не говорю про кодогенераторы): ну что бы можно было генерировать классы и иерархии классов во время компиляции (и я опять не говорю про кодогенераторы), а не во время выполнения, как например в управляемых языках, таких как Java, С# с его рефлексией...

#28
16:08, 28 фев. 2016

ZeroCool++
> Скажу еще раз - пример не верен. В том, что прогер написал говнокод это не
> проблема auto. Скажу по другому: в том примере не нужен auto, это пример как НЕ
> нужно использовать auto (и это не проблемы auto, еще раз).

То есть я ещё и должен по каждому auto выяснять - оно нужно или нет ?

> Ну, любитель питона, назови ка мне хоть один язык кроме С++, который
> поддерживает статическое метапрограммирование

Ну, любитель C++, назови мне причину по которой мне это всё надо в статике ?

Можно переопределить логику наследования или сделать хотя бы метакласс, переопределяющий поведение инстансов ?

#29
16:31, 28 фев. 2016

innuendo
> Ну, любитель C++, назови мне причину по которой мне это всё надо в статике ?

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

innuendo
> Можно переопределить логику наследования или сделать хотя бы метакласс,
> переопределяющий поведение инстансов ?

На то она и статика, что бы нельзя было переопределить ее.

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

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

Тема закрыта.