|
|
|
общий код для классов
|
|||
|---|---|---|---|
|
#18+
как сделать что-то подобное? из класса 1 наследовать класс 2 с частью общего кода в (одноимённой) процедуре. вызов функции из цикла не предлагать, т.к., затраты на вызов функции слишком велики. и даже если бы, то как бы это выглядело с точки зрения наследования, и из класса 2? (всё равно не предлагать) Код: pascal 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2018, 08:04 |
|
||
|
общий код для классов
|
|||
|---|---|---|---|
|
#18+
Код: pascal 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. PS: Я ничего не предлагал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2018, 08:44 |
|
||
|
общий код для классов
|
|||
|---|---|---|---|
|
#18+
чччД__ Код: pascal 1. 2. 3. 4. PS: Я ничего не предлагал. Поправлю, чтобы учесть пожелание не вызывать функцию [quot чччД__] Код: pascal 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2018, 10:47 |
|
||
|
общий код для классов
|
|||
|---|---|---|---|
|
#18+
DimonkaПоправлю, чтобы учесть пожелание не вызывать функцию Код: pascal 1. 2. 3. 4. inline функции не могут быть виртуальными, AFAIR, так что не взлетит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2018, 11:07 |
|
||
|
общий код для классов
|
|||
|---|---|---|---|
|
#18+
По-правильному - вариант из #2. Если вызов функции ну совсем-совсем неприемлем, то выделять куски кода в include и подключать их по мере надобности Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Но это если совершенно с функцией никак. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2018, 12:24 |
|
||
|
общий код для классов
|
|||
|---|---|---|---|
|
#18+
Полагаю, что мнение " затраты на вызов функции слишком велики " сильно преувеличено. Иначе, зачем классы. Копипаста/инлайн только, и долго курим, как убрать еще пару тиков кпу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2018, 13:14 |
|
||
|
общий код для классов
|
|||
|---|---|---|---|
|
#18+
Всякое бывает. Может, у него там квинтиллиард итераций. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2018, 14:45 |
|
||
|
общий код для классов
|
|||
|---|---|---|---|
|
#18+
Можно попробовать то что предлагали подключать через {$I} вынести в процедуры/функции с указанием inline. Чисто теоритически должно получиться то же самое по выходному бинарнику. Будет нагляднее в редакторе, но отладка будет хуже (инлайновые функции не пройти пошагово в дебагере, в отличии от {$I}) + оптимизация inline у делфи иногда страдает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2018, 16:19 |
|
||
|
общий код для классов
|
|||
|---|---|---|---|
|
#18+
527470Чисто теоритически должно получиться то же самое по выходному бинарнику чисто теоретически можно любую фнукцию проинлайнить компилятором автоматически... а вот на практике у Дельфи инлайн-функции всё-равно параметры и большие результаты через стэк передают, и этот дополнительный код никуда не исчезнет. Legacy-compatibility на inline-функциях в XE2: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. Василий 2Всякое бывает. Может, у него там квинтиллиард итераций. ....и все данные влезают в L1 cache ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2018, 18:29 |
|
||
|
общий код для классов
|
|||
|---|---|---|---|
|
#18+
sergeyguest, такое не подойдет? Код: pascal 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2018, 13:08 |
|
||
|
|

start [/forum/topic.php?fid=58&gotonew=1&tid=2040573]: |
0ms |
get settings: |
10ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
183ms |
get topic data: |
12ms |
get first new msg: |
6ms |
get forum data: |
3ms |
get page messages: |
70ms |
get tp. blocked users: |
1ms |
| others: | 247ms |
| total: | 556ms |

| 0 / 0 |
