Russian Qt Forum
Ноябрь 25, 2024, 12:39 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 2 [3] 4   Вниз
  Печать  
Автор Тема: Qt binding к языку программирования D.  (Прочитано 33922 раз)
Eldar
Гость
« Ответ #30 : Октябрь 29, 2008, 08:32 »

panter_dsd
Спасибо за адекватный пост. Я не собирался доказывать ничего и никому, просто мне не понравилась волна скепсиса и непонимание очевидных недостатков С++. Я сам не программист, и мне не по душе изучать перипетии С++ и отлов багов с указателями. Мне приятнее кодить свои мысли - и Ди в этом отношении превосходен.

Появился вопрос по поводу биндинга. В Qt есть свое управление памятью? Как я понимаю, если объект имеет родителя, то родитель прибивает его когда надо?
Кстати говоря в случае с D, по сравнению с биндами к скриптовым языкам достаточно небольшое пенальти по производительности. Многие вещи делаются напрямую. в qtruby и qyoto каждый вызов связан с поиском в большом хэше и прочими процедурами, здесь же цена - пара лишних вызовов, что не может не радовать.
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #31 : Октябрь 29, 2008, 12:28 »

Управление памятью есть, родитель при уничтожении убивает всех своих потомков.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #32 : Октябрь 29, 2008, 12:45 »

Я не собирался доказывать ничего и никому, просто мне не понравилась волна скепсиса и непонимание очевидных недостатков С++.

Ну так вы ведь неназвали недостатки С++. В этой теме, в другой теме вы кричите "недостатки С++, недостатки С++". А в чем недостатки-то? Я попросил вас назвать недостатки - ответа нет! Так что это только голые слова.... Ничего личного
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Eldar
Гость
« Ответ #33 : Октябрь 29, 2008, 13:55 »

Цитировать
Ну так вы ведь неназвали недостатки С++. В этой теме, в другой теме вы кричите "недостатки С++, недостатки С++". А в чем недостатки-то? Я попросил вас назвать недостатки - ответа нет! Так что это только голые слова.... Ничего личного
По аккуратнее в выражениях, уважаемый. Никто здесь не кричит.  То что я считаю недостатками С++ я написал в соответствующем треде http://www.prog.org.ru/topic_7933_0.html  на который здесь была ссылка.
И я  могу говорить о недостатках С++ и премуществах D, потому что я пользовался и тем и другим. Вы - нет.
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #34 : Октябрь 29, 2008, 14:03 »

То что я считаю недостатками С++ я написал в соответствующем треде http://www.prog.org.ru/topic_7933_0.html  на который здесь была ссылка.

Приведите ссылку на Ваш пост где указаны недостатки  C++, а не голые фразы
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
spirit
Гость
« Ответ #35 : Октябрь 29, 2008, 14:05 »

offtop
че вы на человека накинулись? зашел спросить про кьюти... с такими наездами скоро суда вообще заходить никто не будет.  Смеющийся
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #36 : Октябрь 29, 2008, 14:12 »

offtop
че вы на человека накинулись? зашел спросить про кьюти... с такими наездами скоро суда вообще заходить никто не будет.  Смеющийся

Никто не накинулся... Тема весьма интересна для всех. Но просто нужно оперировать фактами и объективно сравнивать два языка. Сранение не должно базироваться на личных ощушениях. А так у нас получаеться игра в одни ворота "С++ плохой, одни костыли, и непонятно для всех почему он плохой и в чем проявляються его костыли; D классный язык". Да, мы увидели список нововведений в D, обсудили это нововведения. Но так и не увидели список костылей и подпорок в С++, неуслышали в чем он именно плох. То что он "лично мне не нравиться" это не есть довод, имхо.
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #37 : Октябрь 29, 2008, 14:20 »

По аккуратнее в выражениях, уважаемый. Никто здесь не кричит. 

Извените, ни в коем случае не хотел вас обидеть
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Eldar
Гость
« Ответ #38 : Октябрь 29, 2008, 17:19 »

Цитировать
Приведите ссылку на Ваш пост где указаны недостатки  C++, а не голые фразы
http://www.prog.org.ru/index.php?topic=7933.msg41537#msg41537
Также на первой странице той ветки хорошие посты(много лучше моего Улыбающийся )

Кстати говоря - многим здесь не нравится амбициозное название языка - D. Автор языка назвал его Mars, но комьюнити убедило его переименовать в D  Показает язык
« Последнее редактирование: Октябрь 29, 2008, 17:21 от Eldar » Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #39 : Октябрь 29, 2008, 17:50 »

Цитировать
Приведите ссылку на Ваш пост где указаны недостатки  C++, а не голые фразы
http://www.prog.org.ru/index.php?topic=7933.msg41537#msg41537

Сорри, но я невижу из вашего поста описания недостатков С++ Улыбающийся. Нашел следующее ваши высказывания:

Цитировать
С++ - это язык, где аккуратно расставлены грабли.
Цитировать
Далее С++ тянет из С, языка 40 летней давности ужасные решения как #include, макросы, классы по умолчанию - типы по значению.
Цитировать
Синтаксис С++ ужасен.

Как вы сами понимаете, это не есть ответ на мой вопрос. Ладно, возвращаемся к теме биндинга Улыбающийся
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Eldar
Гость
« Ответ #40 : Октябрь 31, 2008, 14:14 »

По теме биндинга, упоминали что можно вызывать слоты и сигналы по имени. Это через QMetaObject делается?
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #41 : Октябрь 31, 2008, 14:24 »

По теме биндинга, упоминали что можно вызывать слоты и сигналы по имени. Это через QMetaObject делается?

Да, QMetaObject::invokeMethod
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
spirit
Гость
« Ответ #42 : Октябрь 31, 2008, 14:24 »

По теме биндинга, упоминали что можно вызывать слоты и сигналы по имени. Это через QMetaObject делается?

про этот метод почитайте
Цитировать
QMetaObject::invokeMethod
Invokes the member (a signal or a slot name) on the object obj. Returns true if the member could be invoked. Returns false if there is no such member or the parameters did not match.
там же есть пример использования
Записан
Eldar
Гость
« Ответ #43 : Ноябрь 13, 2008, 17:18 »

Приступил к оборачиванию строк. У меня есть строка QString str, я ее перегоняю в const char* с помощью str.toUtf8().data(). 2 вопроса - будет ли она null-terminated и второй - это аллоцированная строка, которую я могу безопасно использовать дальше, или нет?
Записан
Rcus
Гость
« Ответ #44 : Ноябрь 13, 2008, 17:55 »

toUtf8() возвращает QByteArray, его метод data() возвращает указатель на внутреннее представление
Цитировать
Returns a pointer to the data stored in the byte array. The pointer can be used to access and modify the bytes that compose the array. The data is '\0'-terminated.
Цитировать
The pointer remains valid as long as the byte array isn't reallocated or destroyed. For read-only access, constData() is faster because it never causes a deep copy to occur.

Проще говоря: да, нет.

Не уверен насчет представления строк в D, но возможно проще будет конвертировать через метод int QString::toWCharArray ( wchar_t * array ) const
« Последнее редактирование: Ноябрь 13, 2008, 17:58 от Rcus » Записан
Страниц: 1 2 [3] 4   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.108 секунд. Запросов: 23.