Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
 
 
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
29.07.2013, 14:07     Новый синтаксис using в C++11 #1
Цитата Сообщение от Tulosba Посмотреть сообщение
using ui = unsigned int;
зачем напридумывали лишних слов?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.07.2013, 14:07     Новый синтаксис using в C++11
Посмотрите здесь:

C++ Синтаксис
C++ Непонятный синтаксис
Синтаксис C++
C++ Синтаксис языка с++
C++ синтаксис в операторах while и do while
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
29.07.2013, 14:16     Новый синтаксис using в C++11 #2
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
зачем напридумывали лишних слов?
using имеет запись более похожую на объявление новой сущности: сначала новое имя, потом - старое. Как, например, в записи int a = b; typedef же требует сначала указывать существующий тип, а потом - новый. Это, всё таки, нарушает единообразие.
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
29.07.2013, 14:27  [ТС]     Новый синтаксис using в C++11 #3
Цитата Сообщение от Tulosba Посмотреть сообщение
Это, всё таки, нарушает единообразие.
это переливание из пустого в порожнее.
Если уж придираться, то тайпдеф требует писать новое имя так, словно объявляется "переменная" с этим именем. Это правило очень простое и логичное. И работает при объявлении даже самых запутанных типов, вроде указателей на сложные функции.
А вот новый стандарт - бред какой-то!
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
29.07.2013, 14:56     Новый синтаксис using в C++11 #4
Цитата Сообщение от 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 >;
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
29.07.2013, 15:01  [ТС]     Новый синтаксис using в C++11 #5
Цитата Сообщение от Tulosba Посмотреть сообщение
А с шаблонами typedef сможет?
А шаблоны это не типы и не должны быть типами. Они создаются каждый для своего типа, запрошенного в программе на этапе компиляции. Сколько запрошено в программе различных
SomeClass<int> SomeClass<char> SomeClass<OtherClass>... Столько и будет различных шаблонов.
Давать инструменты для какого-то абстрактного надшаблонного программирования - за это руки отрывать надо!
Не то хотели создать Керриган и Ритчи!
Tulosba
29.07.2013, 15:03
  #6

Не по теме:

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

ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
29.07.2013, 15:03     Новый синтаксис using в C++11 #7
Цитата Сообщение от Tulosba Посмотреть сообщение
А с шаблонами typedef сможет?
Между прочим прекрасный вопрос.
Kuzia domovenok, Данная форма using введена специально для того, чтобы можно было ее использовать с шаблонами, ведь typedef шаблонного класса не возможен. Собственно и называется эта фича "template alias". А вы, со своими словами, про то, что новый стандарт - бред, не пытаясь даже разобраться в фиче, а просто увидев конструкцию и посчитав, что она лишняя, выглядите, мягко говоря, не очень выигрышно.
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
29.07.2013, 15:06     Новый синтаксис using в C++11 #8
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
А шаблоны это не типы и не должны быть типами.
typedef использовался в том числе и для уменьшения кол-ва набираемого кода. using эти возможности расширяет. При этом ни капли не ограничивая.
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
29.07.2013, 15:11  [ТС]     Новый синтаксис using в C++11 #9
Цитата Сообщение от ForEveR Посмотреть сообщение
А вы, со своими словами, про то, что новый стандарт - бред, не пытаясь даже разобраться в фиче, а просто увидев конструкцию и посчитав, что она лишняя, выглядите, мягко говоря, не очень выигрышно.
Так я не то, чтобы углублялся в новый стандарт. Но вот увидев данную конкретную фичу сразу распознал в ней уход языка от своих корней.
Я понял, что это за фича, спасибо. И именно это мне в ней и не понравилось!
Ведь ещё чуть-чуть и С++ из строго типизированного языка, с механикой близкой к машине, превратится в бред абстрактный от всего, что было у K&R
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
29.07.2013, 15:16     Новый синтаксис using в C++11 #10
Kuzia domovenok, Причем тут K&R? Это РАЗНЫЕ языки. Абсолютно разные. Вы, кажется, слегка перепутали ветку.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11836 / 6815 / 770
Регистрация: 27.09.2012
Сообщений: 16,898
Записей в блоге: 2
Завершенные тесты: 1
29.07.2013, 15:17     Новый синтаксис using в C++11 #11
Kuzia domovenok, Все-таки, это не Си, поэтому и правила другие. И мало кого волнуют изменения в другом языке, плюсы - это самостоятельный язык.
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
29.07.2013, 15:17  [ТС]     Новый синтаксис using в C++11 #12
Цитата Сообщение от Tulosba Посмотреть сообщение
typedef использовался в том числе и для уменьшения кол-ва набираемого кода. using эти возможности расширяет. При этом ни капли не ограничивая.
никак нет! тайпдеф работал со строго определёнными типами! А уводить язык в сторону абстракций нельзя! Вы ещё функциональщину предложите...
Вот я смотрю на программу на Си и представляю себе её вид на асме. Единственная причина, почему не пишу на асме - это то, что выйдет то же самое, только более муторно.
А вот смотрю я на эти фичи С++11 и не могу сразу представить, как их на асме реализовать. Может подумать мне об этом подольше надо? Но это уже другой вопрос...
SatanaXIII
29.07.2013, 15:21
  #13

Не по теме:

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

ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
29.07.2013, 15:26     Новый синтаксис using в C++11 #14
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
А уводить язык в сторону абстракций нельзя! Вы ещё функциональщину предложите...
Вот я смотрю на программу на Си и представляю себе её вид на асме. Единственная причина, почему не пишу на асме - это то, что выйдет то же самое, только более муторно.
А вот смотрю я на эти фичи С++11 и не могу сразу представить, как их на асме реализовать. Может подумать мне об этом подольше надо? Но это уже другой вопрос...
Я как бэ просто намекну, С++ и сделан для того, чтобы было проще работать с абстракциями. На то он и является языком высокого уровня. Смотреть на программу на С++ и представлять как реализовать ее на асме - это бредово.
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
29.07.2013, 15:30     Новый синтаксис using в C++11 #15
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
тайпдеф работал со строго определёнными типами!
Работал и продолжает работать. А про сокращение набираемого кода Вы разве не согласны?
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
29.07.2013, 15:35  [ТС]     Новый синтаксис using в C++11 #16
Цитата Сообщение от ForEveR Посмотреть сообщение
Я как бэ просто намекну, С++ и сделан для того, чтобы было проще работать с абстракциями. На то он и является языком высокого уровня. Смотреть на программу на С++ и представлять как реализовать ее на асме - это бредово.
Да ладно! Что там такого абстрактного то? Большая часть ООП сводится к проверкам на доступ к private/public данным во время компиляции, а не runtime - и на эквивалентный асм код не влияет
Классы и инкапсуляция - реализованы вызовом методов с помощью thiscall - на асме это обычные процедуры с плюс одним аргументом.
Шаблоны - все типы подставляются ещё до использования шаблонов и генерируется "как-бы" несколько классов SomeClass<int> SomeClass<char> SomeClass<OtherClass>..., которые далее аналогично превращаются просто в вызовы соотв. методов через thiscall
Короче, программу на старых плюсах я всегда мог сам "компилировать" в асм.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
29.07.2013, 15:38     Новый синтаксис using в C++11 #17
Kuzia domovenok, Ну... Раз вы таким занимаетесь... Что мешает делать это сейчас? using - синтаксический сахар. auto - синтаксический сахар. лямбда - синтаксический сахар. Что мешает-то?
Tulosba
29.07.2013, 15:39
  #18

Не по теме:

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

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

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

Добавлено через 1 минуту
Цитата Сообщение от Tulosba Посмотреть сообщение
Kuzia domovenok, Вы скатываете тему в холивар К тому же сообщениями, к тебе не относящимися.
Это С++ скатывают в Лисп+Яву+...все языки что можно скоро будут тут, блин...
И я не могу молчать!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.07.2013, 15:43     Новый синтаксис using в C++11
Еще ссылки по теме:

C++ синтаксис
C++ Как передвигать указатель чтобы выделить память под новый элемент и добавить новый элемент в массив?
C++ Синтаксис языка

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

Или воспользуйтесь поиском по форуму:
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
29.07.2013, 15:43     Новый синтаксис using в C++11 #20
Kuzia domovenok, auto до С++11 было бессмысленной языковой конструкцией, так как, все локальные переменные были auto по-дефолту. auto, который есть сейчас - синтаксический сахар, который выводит тип, по примерно тем же правилам, что и шаблонная функция.
Yandex
Объявления
29.07.2013, 15:43     Новый синтаксис using в C++11
Ответ Создать тему
Опции темы

Текущее время: 20:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru