![]() |
Модераторы: Daevaorn Страницы: (8) Все « Первая ... 2 3 [4] 5 6 ... Последняя »
( Перейти к первому непрочитанному сообщению ) |
![]() ![]() ![]() |
|
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
должен (естественно f возвращает вектор, но не значение ), но увы не компилится.. будем ждать )) |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
оно не позже определяется. это компилятор вместо auto вставляет decltype с несколько иной семантикой, именно для подобных случаев. ИМХО. но я все равно завтра поспрашиваю на stackoverflow. Добавлено @ 21:28 покажите, что конкретно Вы имеете ввиду? Это сообщение отредактировал(а) boostcoder - 4.3.2012, 21:31 |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
это совсем другое.. вот тут примените decltype :
Это сообщение отредактировал(а) mes - 4.3.2012, 21:31 |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
а этот код точно корректный?
|
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
еще раз на примере функции : auto // нельзя выведать тип результата операции над аргументами, f (int i, int j) // пока не определены аргументы.. -> decltype ( i+j) // а теперь уже можно.. { } |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
мне кажется, auto в данном случае просто синтаксический сахар. ибо никакой иной роли оно выполнять не может.
по тому, я и говорю, что auto - это decltype с несколько иной семантикой, именно для подобных случаев. зы может я не правильно вопросы задаю... Это сообщение отредактировал(а) boostcoder - 4.3.2012, 21:37 |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
http://www.open-std.org/jtc1/sc22/wg21/doc.../2003/n1478.pdf |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
я понимаю о чем там говорится. но я не понимаю почему..
|
|||
|
||||
mes |
|
||||||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
boostcoder, говорят что вывод типа и запрос типа имеют разное поведение, а не одно наследует другое.. Это сообщение отредактировал(а) mes - 4.3.2012, 21:46 |
||||||
|
|||||||
boostcoder |
|
||||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
не? Добавлено через 1 минуту и 6 секунд как по мне, так запрос типа приводит к выводу типа. с несколько иной семантикой. Добавлено через 2 минуты и 1 секунду или?:
|
||||
|
|||||
mes |
|
||||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
отдаленно соостветсвует такая запись :
но результат будет разный... плюс наличие value_type может не быть ![]() Добавлено через 3 минуты и 19 секунд покажите теперь для примера упомянутого выше
Это сообщение отредактировал(а) mes - 4.3.2012, 21:51 |
||||
|
|||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
как его может не быть, если функция возвращает вектор?
|
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
а что если кроме вектора ни к кому нельзя подобно применить авто ? см. пример с A ![]() Добавлено через 1 минуту и 5 секунд в случае с A<..> f () возвращает А<>.. |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
опять не понял.. я же показал как разрулить его. |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
в случае с A<..> f () возвращает А<>..
как минимум, у Вас вместо А<int> будет А<А<int> >... |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |