С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.50/18: Рейтинг темы: голосов - 18, средняя оценка - 4.50
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,531
Записей в блоге: 1

Новый синтаксис using в C++11

29.07.2013, 14:07. Показов 3916. Ответов 26
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Tulosba Посмотреть сообщение
using ui = unsigned int;
зачем напридумывали лишних слов?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.07.2013, 14:07
Ответы с готовыми решениями:

Новый синтаксис QObject::connect
Всем привет. В Qt5 появилась возможность передавать в QObject::connect указатель на функцию член (вместо передачи строки с названием...

Как перевести синтаксис макроса VBA (Excel) в синтаксис Visual FoxPro
Здравствуйте! Скажите пожалуйста, как перевести синтаксис записанного макроса в excel в синтаксис FoxPro? Нужно, чтобы из FoxPro...

Как перевести синтаксис Intel в синтаксис AT&T? (ассемблерная вставка в СИ)
Извиняюсь, что, возможно, пишу не в ту тему. Нужен именно AT&T синтаксит. В качестве примера для курсовой я разбираю перемножение...

26
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
29.07.2013, 14:16
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
зачем напридумывали лишних слов?
using имеет запись более похожую на объявление новой сущности: сначала новое имя, потом - старое. Как, например, в записи int a = b; typedef же требует сначала указывать существующий тип, а потом - новый. Это, всё таки, нарушает единообразие.
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,531
Записей в блоге: 1
29.07.2013, 14:27  [ТС]
Цитата Сообщение от Tulosba Посмотреть сообщение
Это, всё таки, нарушает единообразие.
это переливание из пустого в порожнее.
Если уж придираться, то тайпдеф требует писать новое имя так, словно объявляется "переменная" с этим именем. Это правило очень простое и логичное. И работает при объявлении даже самых запутанных типов, вроде указателей на сложные функции.
А вот новый стандарт - бред какой-то!
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
29.07.2013, 14:56
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
И работает при объявлении даже самых запутанных типов
А с шаблонами typedef сможет?
C++
1
2
3
4
5
6
7
template <class T1, class T2>
class SomeClass
{ 
};
 
template< class T > 
using EasyClass = SomeClass< T, int >;
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,531
Записей в блоге: 1
29.07.2013, 15:01  [ТС]
Цитата Сообщение от Tulosba Посмотреть сообщение
А с шаблонами typedef сможет?
А шаблоны это не типы и не должны быть типами. Они создаются каждый для своего типа, запрошенного в программе на этапе компиляции. Сколько запрошено в программе различных
SomeClass<int> SomeClass<char> SomeClass<OtherClass>... Столько и будет различных шаблонов.
Давать инструменты для какого-то абстрактного надшаблонного программирования - за это руки отрывать надо!
Не то хотели создать Керриган и Ритчи!
0
29.07.2013, 15:03

Не по теме:

Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Не то хотели создать Керриган и Ритчи!
Так мы ведь в разделе C++, а не голого C.

0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
29.07.2013, 15:03
Цитата Сообщение от Tulosba Посмотреть сообщение
А с шаблонами typedef сможет?
Между прочим прекрасный вопрос.
Kuzia domovenok, Данная форма using введена специально для того, чтобы можно было ее использовать с шаблонами, ведь typedef шаблонного класса не возможен. Собственно и называется эта фича "template alias". А вы, со своими словами, про то, что новый стандарт - бред, не пытаясь даже разобраться в фиче, а просто увидев конструкцию и посчитав, что она лишняя, выглядите, мягко говоря, не очень выигрышно.
1
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
29.07.2013, 15:06
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
А шаблоны это не типы и не должны быть типами.
typedef использовался в том числе и для уменьшения кол-ва набираемого кода. using эти возможности расширяет. При этом ни капли не ограничивая.
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,531
Записей в блоге: 1
29.07.2013, 15:11  [ТС]
Цитата Сообщение от ForEveR Посмотреть сообщение
А вы, со своими словами, про то, что новый стандарт - бред, не пытаясь даже разобраться в фиче, а просто увидев конструкцию и посчитав, что она лишняя, выглядите, мягко говоря, не очень выигрышно.
Так я не то, чтобы углублялся в новый стандарт. Но вот увидев данную конкретную фичу сразу распознал в ней уход языка от своих корней.
Я понял, что это за фича, спасибо. И именно это мне в ней и не понравилось!
Ведь ещё чуть-чуть и С++ из строго типизированного языка, с механикой близкой к машине, превратится в бред абстрактный от всего, что было у K&R
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
29.07.2013, 15:16
Kuzia domovenok, Причем тут K&R? Это РАЗНЫЕ языки. Абсолютно разные. Вы, кажется, слегка перепутали ветку.
0
Неэпический
 Аватар для Croessmah
18144 / 10728 / 2066
Регистрация: 27.09.2012
Сообщений: 27,026
Записей в блоге: 1
29.07.2013, 15:17
Kuzia domovenok, Все-таки, это не Си, поэтому и правила другие. И мало кого волнуют изменения в другом языке, плюсы - это самостоятельный язык.
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,531
Записей в блоге: 1
29.07.2013, 15:17  [ТС]
Цитата Сообщение от Tulosba Посмотреть сообщение
typedef использовался в том числе и для уменьшения кол-ва набираемого кода. using эти возможности расширяет. При этом ни капли не ограничивая.
никак нет! тайпдеф работал со строго определёнными типами! А уводить язык в сторону абстракций нельзя! Вы ещё функциональщину предложите...
Вот я смотрю на программу на Си и представляю себе её вид на асме. Единственная причина, почему не пишу на асме - это то, что выйдет то же самое, только более муторно.
А вот смотрю я на эти фичи С++11 и не могу сразу представить, как их на асме реализовать. Может подумать мне об этом подольше надо? Но это уже другой вопрос...
0
29.07.2013, 15:21

Не по теме:

Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
А вот смотрю я на эти фичи С++11 и не могу сразу представить, как их на асме реализовать.
За этим они может быть и придуманы?

0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
29.07.2013, 15:26
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
А уводить язык в сторону абстракций нельзя! Вы ещё функциональщину предложите...
Вот я смотрю на программу на Си и представляю себе её вид на асме. Единственная причина, почему не пишу на асме - это то, что выйдет то же самое, только более муторно.
А вот смотрю я на эти фичи С++11 и не могу сразу представить, как их на асме реализовать. Может подумать мне об этом подольше надо? Но это уже другой вопрос...
Я как бэ просто намекну, С++ и сделан для того, чтобы было проще работать с абстракциями. На то он и является языком высокого уровня. Смотреть на программу на С++ и представлять как реализовать ее на асме - это бредово.
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
29.07.2013, 15:30
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
тайпдеф работал со строго определёнными типами!
Работал и продолжает работать. А про сокращение набираемого кода Вы разве не согласны?
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,531
Записей в блоге: 1
29.07.2013, 15:35  [ТС]
Цитата Сообщение от ForEveR Посмотреть сообщение
Я как бэ просто намекну, С++ и сделан для того, чтобы было проще работать с абстракциями. На то он и является языком высокого уровня. Смотреть на программу на С++ и представлять как реализовать ее на асме - это бредово.
Да ладно! Что там такого абстрактного то? Большая часть ООП сводится к проверкам на доступ к private/public данным во время компиляции, а не runtime - и на эквивалентный асм код не влияет
Классы и инкапсуляция - реализованы вызовом методов с помощью thiscall - на асме это обычные процедуры с плюс одним аргументом.
Шаблоны - все типы подставляются ещё до использования шаблонов и генерируется "как-бы" несколько классов SomeClass<int> SomeClass<char> SomeClass<OtherClass>..., которые далее аналогично превращаются просто в вызовы соотв. методов через thiscall
Короче, программу на старых плюсах я всегда мог сам "компилировать" в асм.
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
29.07.2013, 15:38
Kuzia domovenok, Ну... Раз вы таким занимаетесь... Что мешает делать это сейчас? using - синтаксический сахар. auto - синтаксический сахар. лямбда - синтаксический сахар. Что мешает-то?
0
29.07.2013, 15:39

Не по теме:

Kuzia domovenok, Вы скатываете тему в холивар :) К тому же сообщениями, к тебе не относящимися.

0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,531
Записей в блоге: 1
29.07.2013, 15:42  [ТС]
Цитата Сообщение от Tulosba Посмотреть сообщение
Работал и продолжает работать. А про сокращение набираемого кода Вы разве не согласны?
так мы разве о сокращении говорим? Мы говорим о том, что ещё чуть-чуть и пойдёт оголтелая функциональщина!
сокращение это хорошо. Но тайпдеф работал и продолжает работать! Никто не запрещает писать
C++
1
2
typedef SomeClass<int> IntClass;
typedef SomeClass<char> CharClass;
Если уж припёрло

Добавлено через 1 минуту
Цитата Сообщение от ForEveR Посмотреть сообщение
auto - синтаксический сахар
авто не синтаксический сахар! Это творение Керигана и Ритчи, которое варварски выбросили из С++. И добавили другое авто...
О том, что должно значить авто, многие уже забывают.

Добавлено через 1 минуту
Цитата Сообщение от Tulosba Посмотреть сообщение
Kuzia domovenok, Вы скатываете тему в холивар К тому же сообщениями, к тебе не относящимися.
Это С++ скатывают в Лисп+Яву+...все языки что можно скоро будут тут, блин...
И я не могу молчать!
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
29.07.2013, 15:43
Kuzia domovenok, auto до С++11 было бессмысленной языковой конструкцией, так как, все локальные переменные были auto по-дефолту. auto, который есть сейчас - синтаксический сахар, который выводит тип, по примерно тем же правилам, что и шаблонная функция.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.07.2013, 15:43
Помогаю со студенческими работами здесь

Синтаксис запросов vs. синтаксис методов
Занимаюсь изучением LINQ'a, и возник вопрос, как переписать следующий запрос IEnumerable&lt;int&gt; numbers = Enumerable.Range(3,...

Hdd Victoria, нет IDE режима. Новый комп и новый винт
Здравствуйте, проблема с новым компьютером - хотел проверить террабайтник новый, а как оказалось на новой материнке есть только uefi и...

Вместо письма новый заказ, приходит письмо: зарегистрирован новый пользователь
Удалил и добавил заново шаблон новый заказ, не помогло. В настройках события: &quot;новый заказ&quot; установлен нужный id шаблона. Но при...

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

Новый ланчпад EXP430F5529LP и новый eZ-FET lite программатор
Возможно конечно где-то уже было упоминание, но мне пока не попадалось - совершенно случайно обнаружил на сайте ti: наличие нового...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru