![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Подтвердите свой е-майл
Регистрация: 11.04.2012
Сообщений: 85
|
![]()
Отталкиваюсь от того, что можно возвращать пойнтер вместо копии самого объекта, это быстрее. Рекорд на низком уровне вызывает CopyRecord и перетаскивает данные; вайдстрины звонят мэнеджеру и также просят создать временный дубликат(WStrAsg). Лишь классы ничего не требуют, они переменные пойнтеров или че-то там, не знаю.
Резонно ли это? На примере с WideString: Код:
Ну и для целых рекордов тот же вопрос) |
![]() |
![]() |
![]() |
#2 |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
![]()
Если ты оперируешь указателями, то на тебе и лежит забота о том, чтобы они указывали на правильные данные, а не куда-нибудь в космос.
И никак иначе - следить за этим, кроме самого программиста, некому. Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
![]() |
![]() |
![]() |
#3 |
Подтвердите свой е-майл
Регистрация: 11.04.2012
Сообщений: 85
|
![]()
Грубо говоря unmanaged type(как в си пишут)? Память двигается живет, а указатель все туда же смотрит.
Просто тут недавно было... посылаю пойнтеры на рекорды(цикл), там нужно было в них че-то записать и AV на N-ый раз - в дебаггере пытается писать в адрес 25. Заменил на var - все окей стало. Кажется понял, переменные(те же пойнтеры) просто контролируются мэнэджером, а все что выше - нет. Наверно, отсюда же все PWideChar в винапи, мол, это ТЫ изменил строку или твой мэнэджер перенес данные, а винда не при чем ![]() |
![]() |
![]() |
![]() |
#4 |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
![]()
Это ты щас с кем разговаривал?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
![]() |
![]() |
![]() |
#5 |
Просветитель
Участник клуба
Регистрация: 26.12.2012
Сообщений: 1,844
|
![]()
Аффтар, ты или теорию почитай, или ассемблерный подстрочник посмотри. И классы, и строки -- уже указатели. Зачем указатели на указатели городить?
В разработке: воспроизводственный контур ИТ
|
![]() |
![]() |
![]() |
#6 |
Подтвердите свой е-майл
Регистрация: 11.04.2012
Сообщений: 85
|
![]()
Хотел от System.@WStrAsg и CopyRecord избавится. Сезон охоты за тактами - тссс, вон ещё парочка припряталась...
|
![]() |
![]() |
![]() |
#7 | |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#8 | |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
![]() Цитата:
![]() Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
|
![]() |
![]() |
![]() |
#9 |
Просветитель
Участник клуба
Регистрация: 26.12.2012
Сообщений: 1,844
|
![]()
_WStrAsg -- инкапсуляция механизма подсчета ссылок BSTR, оберткой над которыми и является WideString. Внимание, вопрос: зачем избавляться от подсчета ссылок?
А от CopyRecord избавляются наибанальнейшим способом -- ставят const или var перед параметром процедуры. Запись передается по ссылке, контролируемой компилятором.
В разработке: воспроизводственный контур ИТ
|
![]() |
![]() |
![]() |
#10 |
Подтвердите свой е-майл
Регистрация: 11.04.2012
Сообщений: 85
|
![]()
min@y™, Ложи и провокация! Сезон не длится не вечно. Просто часть завершена, почему бы не швырнутся
Vapaamies, ссылки? _WStrAsg же присвоение, типа вот те строка, запихни её туда. Хотя посмотрю теперь. edit: Если Get метод возвращает WideString: Код:
Код:
Последний раз редактировалось WhiskasTM; 07.10.2014 в 12:36. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Возвращение указателя на структуру | millepetrozza | Помощь студентам | 2 | 15.03.2013 20:34 |
Возвращение из функции указателя на двумерный массив | _J_ | Общие вопросы C/C++ | 2 | 29.12.2011 01:34 |
Возвращение ссылки на объект | kesha2008 | C# (си шарп) | 5 | 29.05.2011 16:26 |
Возвращение массива записей через объект | CodeNOT | PHP | 8 | 14.04.2011 18:30 |
Шаблоны - нужно создать объект класса abc в котором вместо aa использовался бы объект класса fff? | Farrel | Общие вопросы C/C++ | 2 | 13.11.2010 17:37 |