![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 63 Всего: 196 |
mes
Base::f() |
|||
|
||||
| Alek86 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1299 Регистрация: 30.1.2007 Где: Киев Репутация: 21 Всего: 25 |
||||
|
||||
| Fazil6 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1653 Регистрация: 3.5.2006 Где: Минск Репутация: 35 Всего: 60 |
||||
|
||||
| Alek86 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1299 Регистрация: 30.1.2007 Где: Киев Репутация: 21 Всего: 25 |
Fazil6, и что?
|
|||
|
||||
| archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 58 Всего: 93 |
Потому, что v - это не scope Возможность писать v.static_mem была сделана лишь для шаблонов. -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
| Alek86 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1299 Регистрация: 30.1.2007 Где: Киев Репутация: 21 Всего: 25 |
каюсь, не понимаю, что такое scope ты хочешь сказать, что есть ситуация при которой компилятор не мог бы знать, что ему подставлять заместо v::iterator даже если v - указатель на базовый класс? как же тогда собираются ключевое слово auto менять? |
|||
|
||||
| archimed7592 |
|
||||||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 58 Всего: 93 |
Scope - это область. Область видимости. Область действия... Как хочешь. Оператор :: применяется для разрешения(resolving) областей и применяться он должен именно к scope, а не к lvalue/rvalue.
Я подумаю над примером. auto - был(и есть сейчас) storage specifier. В С++09 он будет иметь совсем др. смысл. Ну а, то что ты хочешь будет реализовываться другим кл. словом:
Добавлено через 7 минут и 31 секунду Ну вот простой пример:
-------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
||||||
|
|||||||
| Alek86 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1299 Регистрация: 30.1.2007 Где: Киев Репутация: 21 Всего: 25 |
наверна я перетрудился, ибо не понял даже, для чего нужно
завтра с утра попробую осилить |
|||
|
||||
| archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 58 Всего: 93 |
Это два примера использования одного и того же имени для упоминания совершенно разных сущностей: 1. v - тип, определённый in global scope. 2. v - локальная переменная(аргумент типа V, который в свою очередь является ::v). Выбор сущности в данном случае зависит от способа использования(:: vs <<). -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
| Alek86 |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1299 Регистрация: 30.1.2007 Где: Киев Репутация: 21 Всего: 25 |
не, все-таки давай завтра сутра
имхо, тогда мог бы и полегче пример придумать к примеру
я же имел в виду, что
(где v- переменная) мог определять единственно возможную сущность (если не в шаблоне) |
||||
|
|||||
| Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 41 Всего: 154 |
а я думал это будет называться typeof... |
|||
|
||||
| archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 58 Всего: 93 |
Это так в Boost.TypeOf его обозвали Я тебе привёл пример, где мог и не определять -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
| warmonger_ |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 155 Регистрация: 7.7.2007 Где: г. Киев Репутация: 1 Всего: 3 |
Это сообщение отредактировал(а) warmonger_ - 15.1.2008, 22:14 --------------------
Make everything as simple as possible, but not simpler.Albert Einstein |
||||
|
|||||
| Alek86 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1299 Регистрация: 30.1.2007 Где: Киев Репутация: 21 Всего: 25 |
archimed7592, warmonger_, я знаю, как это можно "обойти"
можно и бьез шаблонов для каждой переменной тайпдефить свой тип (кстати, слыхал, это рекомендуют), и тогда можно безбоязно писать
ибо при изменении типа переменной (в тайпдефе, конечно) ничего менять не придется но мороки в этими тайпдефами будет много... вопрос был именно в том, почему такая "проблема" не предусмотрена на уровне языка, который считается объектно-ориентированным на этот вопрос получил только 2 ответа - от bsa и Fazil6 (с последним я не согласен, но то скорее мои проблемы Это сообщение отредактировал(а) Alek86 - 16.1.2008, 11:09 |
|||
|
||||
| Fazil6 |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1653 Регистрация: 3.5.2006 Где: Минск Репутация: 35 Всего: 60 |
честно, говоря я не вижу проблемы как таковой. Ведь если такой функционал закладывать в язык, то в общем виде компиллятор должен всегда, когда возможное имя в конструкции языка должно восприниматься как тип, то нужно определять его тип и использовать как тип. Т.е. если предполагать наличие такой возможности в языке то конструкция
Вам это надо? |
||||
|
|||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |