Форум
Компьютерные священные войны
Тема
Как правильно задавать вопросы
B
I
abc
U
X
3
X
3
H1
H2
H3
H4
H5
H6
Asm
C/C++
C#
Erlang
Haskell
IDL
Java
Lisp
MSIL
Nemerle
ObjC
OCaml
Pascal
Perl
PHP
Prolog
Python
Ruby
Rust
SQL
VB
Здравствуйте, alex_public, Вы писали: _>Здравствуйте, Pzz, Вы писали: _>>>И вот тут ты можешь открыть для себя семантику перемещения. ) Pzz>>Я понимаю про семантику перемещений. Синтаксис, разумеется, не знаю, но стоящие за ней идеи понимаю хорошо. Pzz>>И вот представь себе, я проектирую сложную структуру данных (структуру не как struct, а структуру, представляющую сложную хрень. Ну, например, географическую карту, или промежуточное представление программы между синтаксическим анализом и кодогенерацией, с чем работает оптимизатор), и мало того, что моя структура данных сама по себе сложна, я еще должен думать про семантику перемещений. Знаешь, извини, моя голова в этом месте будет занята связами в графе, а не владением памятью. _>Повторюсь ещё раз: я вполне понимаю такую аргументацию скажем от программиста на Java и Python. Да, они потеряют на этом в эффективности кода, но это может быть вполне допустимо условиями задачи. Но от программистов на C и ему подобных языков, подобная аргументация не может работать. Потому что программисту на C точно так же требуется продумывать время жизни каждого объекта. Pzz>>>>Я понимаю, что всякие там умные указатели в C++ отчасти автоматизируют управление памятью. Но она не становится от этого концептуально проще. _>>>Вообще говоря становится. Pzz>>Вообще говоря, нет. Можно, конечно, делать вид, что присваивание/передача строк по значению работает так же, как присваивание/передача целых чисел по значению. Там же семантика перемещений, ага, лишних аллокаций на куче почти и не видно. Только когда их вдруг становится видно, то получается хуже даже, чем в языке, в котором все руками - потому что в чем дело умному понятно (а дураку и это не понятно, ему же всю жизнь внушали, что внутренний мир объекта его не касается), а что делать не очень-то понятно, внутрь объекта особенно-то и не пускают. _>Вообще не понял о чём ты тут. _>>>Т.е. грубо говоря можно явно выделить 3 основных вида управления памятью: Pzz>>Давай сойдемся на том, что мы оба квалифицированные люди, и очевидные вещи понимаем одинаково хорошо :-) _>Ну вообще то я как раз написал, что я не понимаю, по какой причине (кроме незнания естественно), можно выбирать вариант с ручным управлением памятью. Может ты подскажешь? Т.е. ты конечно же уже написал, что типа "простота - это хорошо", но дело в том, что это самую простоту ты так и не продемонстрировал ни на одном примере конкретного кода. По моему опыту, код на C++ внешне обычно выглядит даже проще аналогов на C.
Теги:
Введите теги разделенные пробелами. Обрамляйте в кавычки словосочетания с пробелами внутри, например:
"Visual Studio" .NET
Имя, пароль:
Загрузить
Нравится наш сайт?
Помогите его развитию!
Отключить смайлики
Получать ответы по e-mail
Проверить правописание
Параметры проверки …