|
|
|
как узнать, какой тип данных хранится в vector ?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2007, 13:19:29 |
|
||
|
как узнать, какой тип данных хранится в vector ?
|
|||
|---|---|---|---|
|
#18+
еще вопрос, что здесь неправильного? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. for (; p++; p != m_v_cookies.end()) error C2451: conditional expression of type 'std::vector<_Ty>::iterator' is illegal with [ _Ty=stCookie ] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2007, 13:43:14 |
|
||
|
как узнать, какой тип данных хранится в vector ?
|
|||
|---|---|---|---|
|
#18+
Tubrik Смотря в каком смысле. Можно пролистать программу до места объявления объекта типа vector< SomeType > и своими глазами увидеть, что в векторе хранится SomeType. Если речь за "метапрограммирование" зашла, то у всех контейнеров (и вектора тоже) имеется вложенное объявление value_type: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2007, 13:50:36 |
|
||
|
как узнать, какой тип данных хранится в vector ?
|
|||
|---|---|---|---|
|
#18+
Tubrikеще вопрос, что здесь неправильного? Код: plaintext 1. а ты можешь объяснить, что эта строчка должна делать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2007, 13:52:42 |
|
||
|
как узнать, какой тип данных хранится в vector ?
|
|||
|---|---|---|---|
|
#18+
[quot Tubrik]еще вопрос, что здесь неправильного? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2007, 13:56:30 |
|
||
|
как узнать, какой тип данных хранится в vector ?
|
|||
|---|---|---|---|
|
#18+
действительно, местами поменять =)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2007, 14:18:16 |
|
||
|
как узнать, какой тип данных хранится в vector ?
|
|||
|---|---|---|---|
|
#18+
Tubrik пишет: Этого делать не надо, ты его всегда знаешь, потому что всегда задаешь руками. А полиморфных векторов не бывает. Есть полиморфные вектора указателей, но если ты их используешь, ты опять-таки знаешь, какой базовый класс там хранится. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2007, 10:21:15 |
|
||
|
как узнать, какой тип данных хранится в vector ?
|
|||
|---|---|---|---|
|
#18+
MasterZiv Tubrik пишет: Этого делать не надо, ты его всегда знаешь, потому что всегда задаешь руками. А полиморфных векторов не бывает. Есть полиморфные вектора указателей, но если ты их используешь, ты опять-таки знаешь, какой базовый класс там хранится. Posted via ActualForum NNTP Server 1.4 Иногда очень даже надо - например, в шаблоне (в нем еще нет конкретных типов): Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2007, 13:37:15 |
|
||
|
как узнать, какой тип данных хранится в vector ?
|
|||
|---|---|---|---|
|
#18+
Павел Палло пишет: > template< class ContT > > void F(ContT c, typename ContT::value_type x) > { > // Какого ("заданного руками") типа x? - Заранее, вообще говоря, неизвестно > std::cout << x << std::endl; > } Нет, здесь наоборот не надо знать про тип x, и даже вредно это знать. Надо написать код, который требует определенной функциональности от типа объекта x и все. При компиляции кода выяснится, есть эта функциональность у x или нет. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2007, 15:54:10 |
|
||
|
как узнать, какой тип данных хранится в vector ?
|
|||
|---|---|---|---|
|
#18+
MasterZiv Павел Палло пишет: > template< class ContT > > void F(ContT c, typename ContT::value_type x) > { > // Какого ("заданного руками") типа x? - Заранее, вообще говоря, неизвестно > std::cout << x << std::endl; > } Нет, здесь наоборот не надо знать про тип x, и даже вредно это знать. Надо написать код, который требует определенной функциональности от типа объекта x и все. При компиляции кода выяснится, есть эта функциональность у x или нет. Posted via ActualForum NNTP Server 1.4 Вероятно, тебе этого действительно никогда не надо, однако не стоит так категорично обобщать. Бывает, что и "надо" - есть даже такой механизм SFINAE (Substitution Failure Is Not An Error) , позволяющий разруливать хитрые ситуации, без попыток компилировать программу для проверки "есть эта функциональность у x или нет". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2007, 21:29:41 |
|
||
|
|

start [/forum/topic.php?fid=57&fpage=272&tid=2027968]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
70ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
| others: | 214ms |
| total: | 377ms |

| 0 / 0 |
