|
структурный вопрос
|
|||
---|---|---|---|
#18+
Коллеги, подскажите. 1. Как компилятор понимает что экземпляр класса Object следует разместить в куче а его наследника, пользовательскую структуру (Structure MyStructure) -> ValueType -> Object в стеке? 2. В то же время универсальная структура Public Structure Nullable(Of T As {Structure, New}) позволяет работать с объектом этого типа, так же как ссылочным типом. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2013, 21:43 |
|
структурный вопрос
|
|||
---|---|---|---|
#18+
Grigory_R, Похоже, я отстал от жизни. Почему-то думал, что "куча" в стеке хранится. :( ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2013, 21:59 |
|
структурный вопрос
|
|||
---|---|---|---|
#18+
Grigory_RКоллеги, подскажите. Structure MyStructure) -> ValueType -> Object в стеке? если ValueType это член класса, то будет храниться в куче. если сделать object temp = valuetype_variable, то значение будет в куче. кроме того, по поводу стека - очень расплывчато, оно запросто может оказаться и в регистре, от jit зависит. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2013, 22:21 |
|
структурный вопрос
|
|||
---|---|---|---|
#18+
value type член класса Код: sql 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.
Код: 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2013, 23:21 |
|
структурный вопрос
|
|||
---|---|---|---|
#18+
Lord British, нет сомнения что поле класса (будь то ссылка на экземпляр класса или экземпляр структуры) будут в куче. интересно как компилятор понимает что экземпляр наследника от ValueType в чистом виде (а не после упаковки или приведения к ссылочному типу и т.д.) окажется в стеке. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2013, 23:41 |
|
структурный вопрос
|
|||
---|---|---|---|
#18+
Grigory_RLord British, нет сомнения что поле класса (будь то ссылка на экземпляр класса или экземпляр структуры) будут в куче. интересно как компилятор понимает что экземпляр наследника от ValueType в чистом виде (а не после упаковки или приведения к ссылочному типу и т.д.) окажется в стеке. Это из серии вопросов поиск смысла в которых выворачивает мозг. В .NET много "классов" которые обрабатываются не по общим правилам. ValueType, Object и куча типов связанных с обертыванием Handle'ов и т. п.. Не надо в этом искать смысла, просто условились и решили так реализовать. Чисто технически, вероятно, компилятор, когда парсит текст твоей программы и видит struct считает его значимым, если ты в тексте ссылаешься на тип другой сборки, то компилятор определяет ссылочный он или значимый по метаданным сборки (которые когда то были получены, возможно, по определениям class/struct). ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2013, 00:03 |
|
структурный вопрос
|
|||
---|---|---|---|
#18+
подскажите, как следует описать структуру, так чтобы экземпляр поддерживал синтаксис PeremStructure Is Nothing ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2013, 13:30 |
|
структурный вопрос
|
|||
---|---|---|---|
#18+
Grigory_Rподскажите, как следует описать структуру, так чтобы экземпляр поддерживал синтаксис PeremStructure Is Nothing переопределить оператор сравнения с обжектом ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2013, 18:33 |
|
|
start [/forum/topic.php?fid=20&msg=38157297&tid=1405148]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
46ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 145ms |
0 / 0 |