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

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

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: Как в диалоговое окно передать переменные  (Прочитано 13396 раз)
break
Гипер активный житель
*****
Offline Offline

Сообщений: 846


Просмотр профиля
« Ответ #15 : Июль 13, 2009, 00:17 »

1) спасибо за разъяснения
2) для чего тогда предназначено ключевое слово inline? Чтобы объявить функцию и написать реализацию в CPP файле?
3) ничего нового для моего программистского развития это открытие не принесет т.к. стараюсь писать код кот. не будет зависеть от "вычюренных" особенностей C++. Например нигде не позволю себе написать что-то где будет важно какой тип оператора инкремента использован - префиксныйi или постфиксный (i++ или ++i). Также это мое "Лишнее" указание слова inline - если по каким-то причинам захочется оставить inline функцию, но реализацию перенести в CPP то уже никак "не забудется" дописать inline в объявлении (хотя это если я верно предположил во 2-м пункте, иначе вообще непонятно зачем ключевое слово inline).
Записан
f-r-o-s-t
Гость
« Ответ #16 : Июль 13, 2009, 00:33 »

1) спасибо за разъяснения
2) для чего тогда предназначено ключевое слово inline? Чтобы объявить функцию и написать реализацию в CPP файле?
3) ничего нового для моего программистского развития это открытие не принесет т.к. стараюсь писать код кот. не будет зависеть от "вычюренных" особенностей C++. Например нигде не позволю себе написать что-то где будет важно какой тип оператора инкремента использован - префиксныйi или постфиксный (i++ или ++i). Также это мое "Лишнее" указание слова inline - если по каким-то причинам захочется оставить inline функцию, но реализацию перенести в CPP то уже никак "не забудется" дописать inline в объявлении (хотя это если я верно предположил во 2-м пункте, иначе вообще непонятно зачем ключевое слово inline).

1) Я просто спросил зачем, я ни в коем случае не хотел задеть =) Я и не думал что начнется такая полемика.
2) Функции могут быть не только членами классов. Они также могут быть не встроенными в описание класса, но inline.
3) Я даже не пытался повлиять на ваше развитие. Префиксный и суффиксный ++(--) бывает довольно удобен, но дело ваше.
Если вы перенесете определение в CPP файл и допишите к ней inline то функци ТОЧНО!!! не будет сделана встроенной(
опять же я не пытаюсь как то повлиять на ваше развитие, а просто сообщаю).
Записан
break
Гипер активный житель
*****
Offline Offline

Сообщений: 846


Просмотр профиля
« Ответ #17 : Июль 13, 2009, 01:51 »

Получается что ключевое слово inline имеет смысл только для функции находящейся вне тела класса но являющейся его частью и реализованной в h файле? Т.к. остальные ф-ции реализованные в описание класса и так по возможности станут inline а ф-ции не присутствующие в теле класса никогда не станут inline. Хоть это так?
Записан
f-r-o-s-t
Гость
« Ответ #18 : Июль 13, 2009, 08:18 »

Употребление там где вы написали не является ошибкой, просто его можно не писать.
Также это слово можно употреблять для функций не членов класса, НО! она должна быть описана до её первого вызова,
поэтому кстати inline функции класса должны быть в  .h файле. Ну и наконец не стоит забывать что компилятор может сам
принять решение сделать функцию такой без запроса на встраивание.
Все так. Давай те уже закроем эту тему,  а то у нас такой оффтоп получился =)
Записан
break
Гипер активный житель
*****
Offline Offline

Сообщений: 846


Просмотр профиля
« Ответ #19 : Июль 13, 2009, 11:41 »

Ok. Спасибо за прояснение ситуации.
Записан
f-r-o-s-t
Гость
« Ответ #20 : Июль 13, 2009, 12:14 »

Ok. Спасибо за прояснение ситуации.
Не за что =)
Записан
Enough
Гость
« Ответ #21 : Июль 16, 2009, 14:25 »

Возвращаясь к сабжу: а почему бы в конструкторе не передать эту переменную? Как-то не очень круто для этого новый метод создавать..
Записан
f-r-o-s-t
Гость
« Ответ #22 : Июль 16, 2009, 14:44 »

Возвращаясь к сабжу: а почему бы в конструкторе не передать эту переменную? Как-то не очень круто для этого новый метод создавать..
И так можно, только походу автору, это уже не нужно =)
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #23 : Июль 16, 2009, 16:18 »

2) для чего тогда предназначено ключевое слово inline? Чтобы объявить функцию и написать реализацию в CPP файле?

Чтобы встраивать функции Улыбающийся Хотя компилятор может отказаться от встраивания. Inline функции должны быть доступны всем единицам компиляции (TU), поэтому их реализуют в .h файле, а не .cpp.
Записан
break
Гипер активный житель
*****
Offline Offline

Сообщений: 846


Просмотр профиля
« Ответ #24 : Июль 16, 2009, 17:15 »

Цитировать
Чтобы встраивать функции  Хотя компилятор может отказаться от встраивания. Inline функции должны быть доступны всем единицам компиляции (TU), поэтому их реализуют в .h файле, а не .cpp.
Вы похоже немного не в курсе - посмотрите тему сначала.. Вопрос в том что чтобы встраивать не обязательно писать ключевое слово inline.
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #25 : Июль 16, 2009, 17:19 »

Вы похоже немного не в курсе - посмотрите тему сначала.. Вопрос в том что чтобы встраивать не обязательно писать ключевое слово inline.

Ну, ты спросил зачем нужно inline, я ответил. В чём подвох? Улыбающийся Встраивать можно явно реализовав метод внутри класса, либо реализовав отдельно, но со словом inline, так же как и обычные функции...
Записан
f-r-o-s-t
Гость
« Ответ #26 : Июль 16, 2009, 17:32 »

Вы похоже немного не в курсе - посмотрите тему сначала.. Вопрос в том что чтобы встраивать не обязательно писать ключевое слово inline.

Ну, ты спросил зачем нужно inline, я ответил. В чём подвох? Улыбающийся Встраивать можно явно реализовав метод внутри класса, либо реализовав отдельно, но со словом inline, так же как и обычные функции...
Просто уже все обсудили, если прочитать сначала тему там уже все описано =)
Записан
sergun1604
Гость
« Ответ #27 : Октябрь 05, 2010, 10:51 »

а я дак через сигналы все передаю.
Записан
break
Гипер активный житель
*****
Offline Offline

Сообщений: 846


Просмотр профиля
« Ответ #28 : Октябрь 05, 2010, 17:17 »

Цитировать
а я дак через сигналы все передаю.
в случае если захочется избавится от QObject в каком то классе кот., принимает или передает - это будет не удобно а так норм.
Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


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