
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
28.08.2005, 05:55
|
|||
|---|---|---|---|
|
|||
std::map и конструктор объекта |
|||
|
#18+
предположим есть класс A{ A(std::string str); } есть std::map<int,A> B; как сделать так что если мы вызываем str1 = B[10] и элемента B[10] еще нет то B[10] былне пустой строкой а скажем B[10]="Unknown". Т.е. можно ли как то указать конструктор который будет испльзоваться для такой стуации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.08.2005, 08:52
|
|||
|---|---|---|---|
std::map и конструктор объекта |
|||
|
#18+
Я думаю, что вам не конструктор нужен, а нужно перопределить оператор [] класса B ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.08.2005, 11:10
|
|||
|---|---|---|---|
|
|||
std::map и конструктор объекта |
|||
|
#18+
ChameLe0nпредположим есть класс A{ A(std::string str); } есть std::map<int,A> B; как сделать так что если мы вызываем str1 = B[10] и элемента B[10] еще нет то B[10] былне пустой строкой а скажем B[10]="Unknown". Т.е. можно ли как то указать конструктор который будет испльзоваться для такой стуации. А какие проблемы раз хранишь не строки а объекты A ? :) Определди конструктор по умолчанию для A Вот пример или я что то не так понял ? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.08.2005, 11:12
|
|||
|---|---|---|---|
|
|||
std::map и конструктор объекта |
|||
|
#18+
Интегратор ChameLe0nпредположим есть класс A{ A(std::string str); } есть std::map<int,A> B; как сделать так что если мы вызываем str1 = B[10] и элемента B[10] еще нет то B[10] былне пустой строкой а скажем B[10]="Unknown". Т.е. можно ли как то указать конструктор который будет испльзоваться для такой стуации. А какие проблемы раз хранишь не строки а объекты A ? :) Определди конструктор по умолчанию для A Вот пример или я что то не так понял ? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Бес попутал :) конечно надо A(const std::string& str = "") .... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.08.2005, 11:16
|
|||
|---|---|---|---|
|
|||
std::map и конструктор объекта |
|||
|
#18+
ChameLe0nпредположим есть класс A{ A(std::string str); } есть std::map<int,A> B; как сделать так что если мы вызываем str1 = B[10] и элемента B[10] еще нет то B[10] былне пустой строкой а скажем B[10]="Unknown". Т.е. можно ли как то указать конструктор который будет испльзоваться для такой стуации. Ты кстати обрати внимание что в этом случае элементы добавляются в map - ты уверен что это тебе нужно ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.08.2005, 13:15
|
|||
|---|---|---|---|
|
|||
std::map и конструктор объекта |
|||
|
#18+
Интегратор ChameLe0nпредположим есть класс A{ A(std::string str); } есть std::map<int,A> B; как сделать так что если мы вызываем str1 = B[10] и элемента B[10] еще нет то B[10] былне пустой строкой а скажем B[10]="Unknown". Т.е. можно ли как то указать конструктор который будет испльзоваться для такой стуации. А какие проблемы раз хранишь не строки а объекты A ? :) Определди конструктор по умолчанию для A Вот пример или я что то не так понял ? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 1) Если по логике работы объекта А нужно чтобы он инициализировался пустой строкой, а в том месте где он используется внутри std::map нужно чтобы срабатывал конструктор с параметром "Unknown". 2) Если я пишу std::map <int,int> где например значение элемента 0-false,1 - true, -1 - неопределено(неустановлено ранее), мне не нужно писать обертку в виде класса для int чтобы инициализировать его -1. Вопрос в том что map нужно както указать конструктор для неявного создания елементов... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.08.2005, 16:34
|
|||
|---|---|---|---|
|
|||
std::map и конструктор объекта |
|||
|
#18+
Можешь объяснить в чём заключается исходная задача ? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.08.2005, 10:52
|
|||
|---|---|---|---|
std::map и конструктор объекта |
|||
|
#18+
IMHO, не прокатит так... Что - то типа того (первое, что пришло на ум): Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=57&mobile=1&tid=2032851]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
91ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 243ms |
| total: | 425ms |

| 0 / 0 |
