|
|
|
использование map в синглетоне
|
|||
|---|---|---|---|
|
#18+
Анатолий Широков Я привел вариант без динамичкой памяти. Вы привели вариант без new. Динамическая память там всё равно есть. Что по Вашему делает Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2007, 19:37:21 |
|
||
|
использование map в синглетоне
|
|||
|---|---|---|---|
|
#18+
MacKintosh Анатолий Широков Мембер map, по-сути, быть статическим мембером быть не должен. Что за суть такая? С сиглом, правда, разницы особой нет... Но если и статик - кому это мешает? Суть, как всегда, заключается в здравом смысле и логике. Член данных map хоть и является единственным экзмепляром для всего приложения, но это не его заслуга, а заслуга класса членом которого он является, поскольку экземпляр этого класса должен быть только один. Поэтому с точки зрения концептуальной чистоты, данные, которые описывают состояние объекта (а не семейста) должны быть членами данных класса, а не статическими членами данных (сорри за дубль, но иначе не скажешь). Объяви map статиком и мы допустим семантическую ошибку, заявив о том, что map является состоянием семейства объектов класса, а не конкретного экземпляра. Ну, вообщем, понятно. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2007, 19:46:36 |
|
||
|
использование map в синглетоне
|
|||
|---|---|---|---|
|
#18+
MacKintosh Анатолий Широков Я привел вариант без динамичкой памяти. Вы привели вариант без new. Динамическая память там всё равно есть. Что по Вашему делает Код: plaintext 1. Ну это уже придирки. Разумеется там динамическая память есть, конечно. Но когда я это писал, я хотел акцентировать внимание на том, что нет нужды выделять память под map и только. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2007, 19:51:52 |
|
||
|
использование map в синглетоне
|
|||
|---|---|---|---|
|
#18+
Анатолий Широков MacKintosh Анатолий Широков Мембер map, по-сути, быть статическим мембером быть не должен. Что за суть такая? С сиглом, правда, разницы особой нет... Но если и статик - кому это мешает? это не его заслуга, а заслуга класса членом которого он является Верно. А вот если сделать map статиком, это уже будет его заслугой. Если даже у нас не будет сингла, все парамсы смогут иметь общий map. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2007, 19:52:12 |
|
||
|
использование map в синглетоне
|
|||
|---|---|---|---|
|
#18+
MacKintosh Анатолий Широков MacKintosh Анатолий Широков Мембер map, по-сути, быть статическим мембером быть не должен. Что за суть такая? С сиглом, правда, разницы особой нет... Но если и статик - кому это мешает? это не его заслуга, а заслуга класса членом которого он является Верно. А вот если сделать map статиком, это уже будет его заслугой. Если даже у нас не будет сингла, все парамсы смогут иметь общий map. Еще раз повторю, то что является состоянием объекта, надо делать членом данных. Сам map никакой семантической нагрузки не несет, он приобретает смысл в контексте некоторой концепции. В данном случае этой концепцией является "менеджер параметров" (Params). И если будет сказано, что все экземпляры этого класса должны разделять одно и тоже множество параметров, то только в этом случае мы объявим map как static и то это будет деталью реализации, а не вещью в себе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2007, 19:59:02 |
|
||
|
использование map в синглетоне
|
|||
|---|---|---|---|
|
#18+
Анатолий Широков Суть, как всегда, заключается в здравом смысле и логике. Член данных map хоть и является единственным экзмепляром для всего приложения, но это не его заслуга, а заслуга класса членом которого он является, поскольку экземпляр этого класса должен быть только один. Поэтому с точки зрения концептуальной чистоты, данные, которые описывают состояние объекта (а не семейста) должны быть членами данных класса, а не статическими членами данных (сорри за дубль, но иначе не скажешь). Объяви map статиком и мы допустим семантическую ошибку, заявив о том, что map является состоянием семейства объектов класса, а не конкретного экземпляра. Ну, вообщем, понятно. :) понятно, надо убрать map из статики. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2007, 22:24:36 |
|
||
|
использование map в синглетоне
|
|||
|---|---|---|---|
|
#18+
где инициализировать map? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2007, 22:26:41 |
|
||
|
использование map в синглетоне
|
|||
|---|---|---|---|
|
#18+
akalendгде инициализировать map? В конструкторе Params. Только еще раз повторю, нет никакой нужды в том, чтобы размещать ваш map в динамической памяти - если вы откажетесь от указателя, то map инициализируется по умолчанию сам: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2007, 22:51:30 |
|
||
|
использование map в синглетоне
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2007, 17:03:25 |
|
||
|
использование map в синглетоне
|
|||
|---|---|---|---|
|
#18+
почему я задал этот вопрос, потому-что при вышеприведенном коде я пробовал и у меня выдавало на код Код: plaintext 1. 2. 3. 4. по этому я и решил сделать динамическое размещение мар ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2007, 17:05:23 |
|
||
|
использование map в синглетоне
|
|||
|---|---|---|---|
|
#18+
а также делал и с Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2007, 17:06:55 |
|
||
|
использование map в синглетоне
|
|||
|---|---|---|---|
|
#18+
объявлял Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2007, 17:08:18 |
|
||
|
использование map в синглетоне
|
|||
|---|---|---|---|
|
#18+
что есть за зверь Signal11 надо догадаться по каким признакам, интересно? текста там никакого нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2007, 17:19:58 |
|
||
|
использование map в синглетоне
|
|||
|---|---|---|---|
|
#18+
akalendобъявлял Код: plaintext У меня предложение. Скопируйте к себе следующий код: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. Он работает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2007, 17:36:44 |
|
||
|
использование map в синглетоне
|
|||
|---|---|---|---|
|
#18+
Гы сигнал 11 - Segmentation Fault Core Dumped ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2007, 18:28:30 |
|
||
|
использование map в синглетоне
|
|||
|---|---|---|---|
|
#18+
$ g++ singleton2.cpp singleton2.cpp: In static member function `static Params& Params::getInstance()': singleton2.cpp:13: error: `signleton' was not declared in this scope singleton2.cpp:30:2: warning: no newline at end of file ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2007, 19:11:13 |
|
||
|
использование map в синглетоне
|
|||
|---|---|---|---|
|
#18+
код работает, в имене переменной была допущена синтактич. ошибка ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2007, 19:20:43 |
|
||
|
использование map в синглетоне
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2007, 19:23:15 |
|
||
|
|

start [/forum/topic.php?fid=57&gotonew=1&tid=2027932]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
35ms |
get topic data: |
7ms |
get first new msg: |
4ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 190ms |
| total: | 312ms |

| 0 / 0 |
