|
|
|
3 вопроса
|
|||
|---|---|---|---|
|
#18+
Карабас БарабасТ.е. размер объекта - это сколько памяти отвел компилятор для него, так получается Конечно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2006, 11:28 |
|
||
|
3 вопроса
|
|||
|---|---|---|---|
|
#18+
Homosum это есть такой тест, ответив на который например так: Где берешь тесты такие ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2006, 11:32 |
|
||
|
3 вопроса
|
|||
|---|---|---|---|
|
#18+
6. Размер объекта класса в памяти определяется суммой размеров методов класса и атрибутов класса суммой размеров методов класса суммой размеров атрибутов класса не зависит от размеров атрибутов и методов класса Правильный ответ - "суммой размеров атрибутов класса". Понятия "размер метода класса" вообще не существует, у метода нет размера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2006, 11:37 |
|
||
|
3 вопроса
|
|||
|---|---|---|---|
|
#18+
MasterZiv... Понятия "размер метода класса" вообще не существует, у метода нет размера.Это конечно так, но наличие виртуальных на размер класса влияет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2006, 12:06 |
|
||
|
3 вопроса
|
|||
|---|---|---|---|
|
#18+
5. Фрагмент программы for(i=n-1; i>=0; i--) for(j=0; j<n-i-1; j++) a[j]=1; заполнит элементы квадратной матрицы (n-размерность матрицы) на главной диагонали над главной диагональю над побочной диагональю (!) на побочной диагонали под побочной диагональю - вопрос вообще неправильный. Не понятно, как объявлена a и как в ней (если это одномерный массив) хранится двухмерная матрица - по стобцам или по строкам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2006, 12:07 |
|
||
|
3 вопроса
|
|||
|---|---|---|---|
|
#18+
_Балтика MasterZiv... Понятия "размер метода класса" вообще не существует, у метода нет размера.Это конечно так, но наличие виртуальных на размер класса влияет. Как??? Как наличие виртуальных методов может влиять на размер объекта класса? Наличие виртуальных методов может влиять на накладные расходы памяти по работе с ними - таблицы вирутальных функций и т.д., но не на сам объект класса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2006, 12:09 |
|
||
|
3 вопроса
|
|||
|---|---|---|---|
|
#18+
Homosum _Балтика MasterZiv... Понятия "размер метода класса" вообще не существует, у метода нет размера.Это конечно так, но наличие виртуальных на размер класса влияет. Как??? Как наличие виртуальных методов может влиять на размер объекта класса? Наличие виртуальных методов может влиять на накладные расходы памяти по работе с ними - таблицы вирутальных функций и т.д., но не на сам объект класса.Как только появляется хотя-бы один вирт. метод класса, в первых четырех байтах объекта класса появляется указатель на его VMT. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2006, 12:15 |
|
||
|
3 вопроса
|
|||
|---|---|---|---|
|
#18+
а если было наследование от нескольких классов с виртуальными методами, по-видимому, будет несколько указателей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2006, 13:22 |
|
||
|
3 вопроса
|
|||
|---|---|---|---|
|
#18+
maXmoа если было наследование от нескольких классов с виртуальными методами, по-видимому, будет несколько указателей.Нет, один. Он указывает, на смещение от начала VMT первого родительского класса, имеющего вирт. методы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2006, 13:33 |
|
||
|
3 вопроса
|
|||
|---|---|---|---|
|
#18+
_Балтика maXmoа если было наследование от нескольких классов с виртуальными методами, по-видимому, будет несколько указателей.Нет, один. Он указывает, на смещение от начала VMT первого родительского класса, имеющего вирт. методы.Извиняюсь, ерунду написяал. У каждого класса своя VMT. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2006, 13:35 |
|
||
|
3 вопроса
|
|||
|---|---|---|---|
|
#18+
только они, имхо, объединены в одну таблицу, чтобы иметь доступ ко всем методам через один указатель на начало таблицы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2006, 14:36 |
|
||
|
3 вопроса
|
|||
|---|---|---|---|
|
#18+
maXmoтолько они, имхо, объединены в одну таблицу, чтобы иметь доступ ко всем методам через один указатель на начало таблицы.Нет, абсолютно разные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2006, 15:47 |
|
||
|
3 вопроса
|
|||
|---|---|---|---|
|
#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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2006, 16:43 |
|
||
|
3 вопроса
|
|||
|---|---|---|---|
|
#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. 52. 53. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2006, 17:38 |
|
||
|
3 вопроса
|
|||
|---|---|---|---|
|
#18+
а, блин, ступил... ------------------ - А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно rtfm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2006, 17:40 |
|
||
|
3 вопроса
|
|||
|---|---|---|---|
|
#18+
Ну дак здесь-же наследование множественное. Два указателя на VMT (8 байт) плюс 3 интежера (12 байт). 8 + 12 = 20 :). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2006, 17:46 |
|
||
|
3 вопроса
|
|||
|---|---|---|---|
|
#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. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. Всё как я обещал. Засунули в стек 55, потом указатель на строку формата и вызвали принтф) __________________ For more information, please proceed to http://www.ot-e.biz ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2006, 18:58 |
|
||
|
3 вопроса
|
|||
|---|---|---|---|
|
#18+
_Балтика MasterZiv... Понятия "размер метода класса" вообще не существует, у метода нет размера.Это конечно так, но наличие виртуальных на размер класса влияет. Незначительно. Как и выравнивание. Кстати , про выравнивание забыл написать. Некоторые компиляторы на некоторых системах для более быстрого доступа к классу и его элементам могут выравнивать поля и/или сам класс по границам слов, двойных слов или полуслов (это все зависит от системы) и таким образом размер объекта может вырости. Обычно все это может настраиваться на уровне опций компилатора, если конечно это возможно в принципе (в смысле делать и так, и так). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2006, 23:04 |
|
||
|
3 вопроса
|
|||
|---|---|---|---|
|
#18+
Homosum Как??? Как наличие виртуальных методов может влиять на размер объекта класса? Ну указатель на таблицу виртуальных методов добавляется в объект, а может даже и не один. Меняется, но незначительно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2006, 23:06 |
|
||
|
3 вопроса
|
|||
|---|---|---|---|
|
#18+
maXmoа если было наследование от нескольких классов с виртуальными методами, по-видимому, будет несколько указателей. Именно так. Если хоть одна ветка наследования невиртуальная, естественно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2006, 23:06 |
|
||
|
3 вопроса
|
|||
|---|---|---|---|
|
#18+
MasterZiv Homosum Как??? Как наличие виртуальных методов может влиять на размер объекта класса? Ну указатель на таблицу виртуальных методов добавляется в объект, а может даже и не один. Меняется, но незначительно. MasterZiv, Балтика, спасибо большое - буду знать! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2006, 00:10 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=33732505&tid=2031257]: |
0ms |
get settings: |
5ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
69ms |
get topic data: |
8ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
| others: | 219ms |
| total: | 381ms |

| 0 / 0 |
