На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела *nix / gcc / Eclipse / Qt / wxWidgets / GTK+
  • При создании темы ОБЯЗАТЕЛЬНО указывайте версию тулкита / библиотеки / компилятора.
  • Перед тем как задать вопрос, сформулируйте его правильно, чтобы вас могли понять.
  • Нарушение Правил может повлечь наказание со стороны модераторов.


Полезные ссылки:
user posted image Boost по-русски
user posted image Qt по-русски
Модераторы: archimed7592
  
> Укорачивание записи исходного кода (аналог With + End With VB6). , Qt Creator v.3.5.1 (Qt 5.5.1).
    Пусть есть код.
    void Form_Main::on_lineEdit_ADC1_0_editingFinished()
    {
    if (ui->lineEdit_ADC1_0->text() == "") ui->lineEdit_ADC1_0->setText(ui->lineEdit_ADC1_0->placeholderText());
    }

    Очень много "ui->lineEdit_ADC1_0->". Как в контексте данного кода сократить его запись?
      В контексте именно данного кода может оказаться, что незачем, ибо компилятор и сам сократит, а если и не сократит, то выигрыш от нескольких тактов будет ничтожен в сравнении с человеческими мороками на сокращение кода. А вообщее, обзываете=заводите новую переменную=указатель: o = ui->lineEdit_ADC1_0; и в путь.
        ExpandedWrap disabled
          void Form_Main::on_lineEdit_ADC1_0_editingFinished()
          {
          using t = ui->lineEdit_ADC1_0;
          if (t->text() == "") t->setText(t->placeholderText());
          }
          Цитата Сергей85 @
          Очень много "ui->lineEdit_ADC1_0->". Как в контексте данного кода сократить его запись?

          1. Если это единственный вариант такого кода, то не обращай внимания.
          2. Но если очень хочется, или много таких вариантов - тогда унаследуйся
          от класса, экземпляром которого является "ui".
          Сделай всё вышеприведённое одной процедурой производного класса.
          (Или, если возможно, отредактируй класс, экземпляром которого является "ui".)

          Тогда твой исходник примет приблизительно такой вид:
          ExpandedWrap disabled
            void Form_Main::on_lineEdit_ADC1_0_editingFinished()
            {
             ui->SomeAction();
            }
          Сообщение отредактировано: ЫукпШ -
            _lcf_, только не using, а auto.
            0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
            0 пользователей:


            Рейтинг@Mail.ru
            [ Script execution time: 0,0240 ]   [ 16 queries used ]   [ Generated: 3.05.24, 13:44 GMT ]