Russian Qt Forum
Ноябрь 23, 2024, 14:49
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Общие вопросы
>
Как в диалоговое окно передать переменные
Страниц:
1
[
2
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Как в диалоговое окно передать переменные (Прочитано 13381 раз)
break
Гипер активный житель
Offline
Сообщений: 846
Re: Как в диалоговое окно передать переменные
«
Ответ #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
Гость
Re: Как в диалоговое окно передать переменные
«
Ответ #16 :
Июль 13, 2009, 00:33 »
Цитата: break от Июль 13, 2009, 00:17
1) спасибо за разъяснения
2) для чего тогда предназначено ключевое слово inline? Чтобы объявить функцию и написать реализацию в CPP файле?
3) ничего нового для моего программистского развития это открытие не принесет т.к. стараюсь писать код кот. не будет зависеть от "вычюренных" особенностей C++. Например нигде не позволю себе написать что-то где будет важно какой тип оператора инкремента использован - префиксныйi или постфиксный (i++ или ++i). Также это мое "Лишнее" указание слова inline - если по каким-то причинам захочется оставить inline функцию, но реализацию перенести в CPP то уже никак "не забудется" дописать inline в объявлении (хотя это если я верно предположил во 2-м пункте, иначе вообще непонятно зачем ключевое слово inline).
1) Я просто спросил зачем, я ни в коем случае не хотел задеть =) Я и не думал что начнется такая полемика.
2) Функции могут быть не только членами классов. Они также могут быть не встроенными в описание класса, но inline.
3) Я даже не пытался повлиять на ваше развитие. Префиксный и суффиксный ++(--) бывает довольно удобен, но дело ваше.
Если вы перенесете определение в CPP файл и допишите к ней inline то функци ТОЧНО!!! не будет сделана встроенной(
опять же я не пытаюсь как то повлиять на ваше развитие, а просто сообщаю).
Записан
break
Гипер активный житель
Offline
Сообщений: 846
Re: Как в диалоговое окно передать переменные
«
Ответ #17 :
Июль 13, 2009, 01:51 »
Получается что ключевое слово inline имеет смысл только для функции находящейся вне тела класса но являющейся его частью и реализованной в h файле? Т.к. остальные ф-ции реализованные в описание класса и так по возможности станут inline а ф-ции не присутствующие в теле класса никогда не станут inline. Хоть это так?
Записан
f-r-o-s-t
Гость
Re: Как в диалоговое окно передать переменные
«
Ответ #18 :
Июль 13, 2009, 08:18 »
Употребление там где вы написали не является ошибкой, просто его можно не писать.
Также это слово можно употреблять для функций не членов класса, НО! она должна быть описана до её первого вызова,
поэтому кстати inline функции класса должны быть в .h файле. Ну и наконец не стоит забывать что компилятор может сам
принять решение сделать функцию такой без запроса на встраивание.
Все так. Давай те уже закроем эту тему, а то у нас такой оффтоп получился =)
Записан
break
Гипер активный житель
Offline
Сообщений: 846
Re: Как в диалоговое окно передать переменные
«
Ответ #19 :
Июль 13, 2009, 11:41 »
Ok. Спасибо за прояснение ситуации.
Записан
f-r-o-s-t
Гость
Re: Как в диалоговое окно передать переменные
«
Ответ #20 :
Июль 13, 2009, 12:14 »
Цитата: break от Июль 13, 2009, 11:41
Ok. Спасибо за прояснение ситуации.
Не за что =)
Записан
Enough
Гость
Re: Как в диалоговое окно передать переменные
«
Ответ #21 :
Июль 16, 2009, 14:25 »
Возвращаясь к сабжу: а почему бы в конструкторе не передать эту переменную? Как-то не очень круто для этого новый метод создавать..
Записан
f-r-o-s-t
Гость
Re: Как в диалоговое окно передать переменные
«
Ответ #22 :
Июль 16, 2009, 14:44 »
Цитата: Enough от Июль 16, 2009, 14:25
Возвращаясь к сабжу: а почему бы в конструкторе не передать эту переменную? Как-то не очень круто для этого новый метод создавать..
И так можно, только походу автору, это уже не нужно =)
Записан
Alex Custov
Джедай : наставник для всех
Offline
Сообщений: 2063
Re: Как в диалоговое окно передать переменные
«
Ответ #23 :
Июль 16, 2009, 16:18 »
Цитата: break от Июль 13, 2009, 00:17
2) для чего тогда предназначено ключевое слово inline? Чтобы объявить функцию и написать реализацию в CPP файле?
Чтобы встраивать функции
Хотя компилятор может отказаться от встраивания. Inline функции должны быть доступны всем единицам компиляции (TU), поэтому их реализуют в .h файле, а не .cpp.
Записан
break
Гипер активный житель
Offline
Сообщений: 846
Re: Как в диалоговое окно передать переменные
«
Ответ #24 :
Июль 16, 2009, 17:15 »
Цитировать
Чтобы встраивать функции Хотя компилятор может отказаться от встраивания. Inline функции должны быть доступны всем единицам компиляции (TU), поэтому их реализуют в .h файле, а не .cpp.
Вы похоже немного не в курсе - посмотрите тему сначала.. Вопрос в том что чтобы встраивать не обязательно писать ключевое слово inline.
Записан
Alex Custov
Джедай : наставник для всех
Offline
Сообщений: 2063
Re: Как в диалоговое окно передать переменные
«
Ответ #25 :
Июль 16, 2009, 17:19 »
Цитата: break от Июль 16, 2009, 17:15
Вы похоже немного не в курсе - посмотрите тему сначала.. Вопрос в том что чтобы встраивать не обязательно писать ключевое слово inline.
Ну, ты спросил зачем нужно inline, я ответил. В чём подвох?
Встраивать можно явно реализовав метод внутри класса, либо реализовав отдельно, но со словом inline, так же как и обычные функции...
Записан
f-r-o-s-t
Гость
Re: Как в диалоговое окно передать переменные
«
Ответ #26 :
Июль 16, 2009, 17:32 »
Цитата: AX от Июль 16, 2009, 17:19
Цитата: break от Июль 16, 2009, 17:15
Вы похоже немного не в курсе - посмотрите тему сначала.. Вопрос в том что чтобы встраивать не обязательно писать ключевое слово inline.
Ну, ты спросил зачем нужно inline, я ответил. В чём подвох?
Встраивать можно явно реализовав метод внутри класса, либо реализовав отдельно, но со словом inline, так же как и обычные функции...
Просто уже все обсудили, если прочитать сначала тему там уже все описано =)
Записан
sergun1604
Гость
Re: Как в диалоговое окно передать переменные
«
Ответ #27 :
Октябрь 05, 2010, 10:51 »
а я дак через сигналы все передаю.
Записан
break
Гипер активный житель
Offline
Сообщений: 846
Re: Как в диалоговое окно передать переменные
«
Ответ #28 :
Октябрь 05, 2010, 17:17 »
Цитировать
а я дак через сигналы все передаю.
в случае если захочется избавится от QObject в каком то классе кот., принимает или передает - это будет не удобно а так норм.
Записан
Страниц:
1
[
2
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...