Модераторы: LSD

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Pascal sv C++ 
:(
    Опции темы
Lazin
Дата 17.12.2007, 16:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 4
Всего: 154



Цитата(Alexeis @  17.12.2007,  16:04 Найти цитируемый пост)
Понял че сказал? С каких пор копирование по значению быстрее передачи по ссылке?

Да, понял. 
Кто мешает использовать указатели и ссылки на объекты-строки. При копировании по значению(глубокое копирование) AnsiString копируется полностью, а std::string (при использовании идиомы COW), копирует только ссылку на объект. Далее при попытке изменить одну из строк происходит реальное копирование. С ссылками на строки можно работать так-же как и в паскале.
Цитата(Alexeis @  17.12.2007,  16:04 Найти цитируемый пост)
Почему нет? Если говорить о Object Pascal, то никаких проблем создавать объекты.

А могут ли эти объекты выглядеть как встроенные типы данных - Integer, String и пр..
PM MAIL Skype GTalk   Вверх
Alexeis
Дата 17.12.2007, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 14
Всего: 459



Цитата(Lazin @  17.12.2007,  16:15 Найти цитируемый пост)
Кто мешает использовать указатели и ссылки на объекты-строки.

  Мешает то что их удобство и состоит в том, что они создаются в стеке, а значит во выходу из функции токая строка уничтожается.

Цитата(Lazin @  17.12.2007,  16:15 Найти цитируемый пост)
При копировании по значению(глубокое копирование) AnsiString копируется полностью, а std::string (при использовании идиомы COW), копирует только ссылку на объект. Далее при попытке изменить одну из строк происходит реальное копирование. С ссылками на строки можно работать так-же как и в паскале.

  В точности описал механизм AnsiString smile , только он встроенный. 

Цитата(Lazin @  17.12.2007,  16:15 Найти цитируемый пост)
А могут ли эти объекты выглядеть как встроенные типы данных - Integer, String и пр..

  Выглядеть понятие весьма растяжимое и специфичное. Сильно зависит от компилятора и его возможностей. 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
baldina
Дата 17.12.2007, 16:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: нет
Всего: 101



cow к передаче параметров по ссылке/значению никакого отношения не имеет.

да че вы ссоритесь? ObjectPascal, FreePascal, Delphi... Понятно, что все востребованные языки развиваются, не только паскаль, но и С++.

Вот только... Есть стандарт С++. Мы собственно говоря про С++ остаемся в его рамках. Идите теперь почитайте про паскалевский стандарт.

А про "поддерживает то, поддерживает сё..." - если в языке есть оператор print или тип string я хочу ими пользоваться. ибо они есть стандартное свойство языка. Очень трудно понять и объяснить, что "вот этой фичей пользоваться не надо, она убогая, используйте вот это расширение языка для этой среды или вот эту библиотеку проприетарного производителя"
PM MAIL   Вверх
Lazin
Дата 17.12.2007, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 4
Всего: 154



Цитата(Alexeis @  17.12.2007,  16:21 Найти цитируемый пост)
Мешает то что их удобство и состоит в том, что они создаются в стеке, а значит во выходу из функции токая строка уничтожается.

тоже самое можно сказать и про std::string, память под строку выделяется в куче, в стеке хранится только указатель на ее начало + специфичная для конкретной реализации информация. Даже если принять что std::string и AnsiString реализованы одинаково, то все равно, std::string - это stl контейнер, и для него есть туева хуча стандартных алгоритмов. Так-что можно сказать что он более функциональный.
Цитата(Alexeis @  17.12.2007,  16:21 Найти цитируемый пост)
В точности описал механизм AnsiString smile , только он встроенный. 

Вот в этом и проблема, если он встроенный то его или невозможно изменить, или это сделать очень сложно. Такая реализация может в многопоточных приложениях вызывать утечку памяти при копировании(глубоком) между потоками(либо каждая строка должна содержать примитив синхронизации). Ты ничего не подозревая копируешь строку, думая что другой поток будет использовать копию, а он использует тот-же объект.
PM MAIL Skype GTalk   Вверх
Alexeis
Дата 17.12.2007, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 14
Всего: 459



Цитата(baldina @  17.12.2007,  16:22 Найти цитируемый пост)
Идите теперь почитайте про паскалевский стандарт.

  Это старый стандарт.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Daevaorn
Дата 17.12.2007, 16:38 (ссылка) |   (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: 5
Всего: 70



Цитата(baldina @  17.12.2007,  17:22 Найти цитируемый пост)
Вот только... Есть стандарт С++. Мы собственно говоря про С++ остаемся в его рамках. Идите теперь почитайте про паскалевский стандарт.

std::string более стандартный чем все паскали вместе взятые.
PM MAIL WWW   Вверх
Lazin
Дата 17.12.2007, 16:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 4
Всего: 154



+1

Добавлено через 3 минуты и 27 секунд
кстати название темы: Pascal sv C++, что бы это могло значить ??
PM MAIL Skype GTalk   Вверх
archimed7592
Дата 17.12.2007, 16:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


Профиль
Группа: Завсегдатай
Сообщений: 2531
Регистрация: 12.6.2004
Где: Moscow

Репутация: 2
Всего: 93



Alexeis, если автоматический объект, созданный на стеке, выходит из области видимости, то это вовсе не означает, что он освобождает какие-то ресурсы(маленькую область стека мы в расчёт не берём). Вот, к примеру, shared_ptr - он ничего не уничтожают, если есть другой shared_ptr, ссылающийся на тот же объект smile.

Блин, что за марафон с аватарками? Я теперь всех путаю smile.


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
baldina
Дата 17.12.2007, 16:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: нет
Всего: 101



верно, есть стандарт 1999 года, но что-то не очень его раздают, видимо секретный.  smile 
в открытом доступе удалось онаружить только Draft 1993, есть там что-то про объекты даже

Добавлено через 3 минуты и 31 секунду
но кстати на http://www.iso.org/ из опубликованных значится только ISO 7185:1990 Information technology -- Programming languages -- Pascal 
PM MAIL   Вверх
Daevaorn
Дата 17.12.2007, 16:52 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: 5
Всего: 70



Цитата(archimed7592 @  17.12.2007,  17:46 Найти цитируемый пост)
Блин, что за марафон с аватарками? Я теперь всех путаю smile. 

у тебя они включены?smile

Цитата(baldina @  17.12.2007,  17:47 Найти цитируемый пост)
верно, есть стандарт 1999 года, но что-то не очень его раздают, видимо секретный.

есть даже ревизия 2003го. Все официально продаются комитетом за небольшую плату. А драфт можно без проблем найти и по-современней, было бы желание...
PM MAIL WWW   Вверх
baldina
Дата 17.12.2007, 16:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: нет
Всего: 101



ладно, стандарт есть. я рад за паскаль, правда. даже был удивлен сходу не обнаружив концов.
ну так в последнем стандарте read, write, string исключили? вряд ли. значит все рассуждения остаются в силе.
PM MAIL   Вверх
Lazin
Дата 17.12.2007, 17:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 4
Всего: 154



Цитата(archimed7592 @  17.12.2007,  16:46 Найти цитируемый пост)
Блин, что за марафон с аватарками? Я теперь всех путаю

а ты присоединяйся  smile 
PM MAIL Skype GTalk   Вверх
archimed7592
Дата 17.12.2007, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


Профиль
Группа: Завсегдатай
Сообщений: 2531
Регистрация: 12.6.2004
Где: Moscow

Репутация: 2
Всего: 93



Цитата(Lazin @  17.12.2007,  17:17 Найти цитируемый пост)
а ты присоединяйся  smile  

Сдать аватарку в аренду? smile
Кстати, есть здесь добрые люди, которые смогут присобачить к моей аватарке новогоднюю шапку? smile


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
Alexeis
Дата 17.12.2007, 17:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 14
Всего: 459



Цитата(Daevaorn @  17.12.2007,  16:38 Найти цитируемый пост)
std::string более стандартный чем все паскали вместе взятые. 

  После такой тупости да еще поддерженной кучей народу считаю, что мне здесь обсуждать нечего...


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Daevaorn
Дата 17.12.2007, 17:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: 5
Всего: 70



Цитата(Alexeis @  17.12.2007,  18:32 Найти цитируемый пост)
После такой тупости да еще поддерженной кучей народу считаю, что мне здесь обсуждать нечего... 

Мы люди не гордые. Критику любим. Обоснуй.
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила ведения Религиозных войн
Smartov
1. Уважайте собеседника
2. Собеседник != враг
3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez"

С уважением, Smartov.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Религиозные войны | Следующая тема »


 




[ Время генерации скрипта: 0.0993 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.