powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / C++ [игнор отключен] [закрыт для гостей] / C: что записывать в заголовочные файлы?
185 сообщений из 185, показаны все 8 страниц
C: что записывать в заголовочные файлы?
    #39990570
mini.weblab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у меня есть функция insert_node() , которая использует вспомогательные функции:
get_node_height, ll_rotate, etc. Вспомогательные функции больше нигде не используются, и не являются частью интерфейса программы.
Вопрос: нужно ли прописывать вспогательные функции в заголовках?
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39990572
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mini.weblab,
Не нужно, если язык позволяет и компилятор не ругается.
В некоторых ЯП есть подпроцедуры. Что вообще замечательно.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39990590
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mini.weblab
Вопрос: нужно ли прописывать вспогательные функции в заголовках?

Не нужно.
Более того их желательно объявить static, чтобы не зависеть от того есть ли в других модулях функции и переменные с таким именем (если вдруг есть, то возможен ряд эффектов начиная с ошибки линковки заканчивая случайными крэшами )
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39990595
Фотография AmKad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
В некоторых ЯП есть подпроцедуры. Что вообще замечательно.
К слову, начиная с С++11, есть лямбды.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39990597
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mini.weblabВопрос: нужно ли прописывать вспогательные функции в заголовках?

Чем меньше ты прописываешь в заголовках, тем лучше. Только те объявления, без которых
другие модули абсолютно не могут обойтись.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39990601
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AmKad,
Да. Но это уже другой уровень)). Это уже чёрный пояс).
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39990648
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
AmKad,
Да. Но это уже другой уровень)). Это уже чёрный пояс).
О чём ты говоришь? Лямбды, порой, проще, чем обычные функции...
Чёрный пояс, это перегнать вектор контейнеров произвольных типов объектов хранения в va_list. Ничо так задачка для C++, ага?
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39990674
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev,

Все в мире относительно.
По сравнению с этим - да
Код: plaintext
1.
2.
3.
4.
5.
6.
procedure xxx() {
          procedure yyyy() {
               .....
         }
  ......
  yyyy() 
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39990683
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp, или с этим:
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
if (!String.prototype.trim)
{
  (function() {
    String.prototype.trim =
        function()
        {
          var regex = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;
          return this.replace(regex, "");
        };
  })();
}

До сих пор не могу понять - зачем это нужно, если прекрасно работает без этой "обёртки" и даже в примерах на Мазилле такая конструкция не используется.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39990701
exp98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Голосую за эту рекомендацию + возможно static.
Dimitry Sibiryakov
Чем меньше ты прописываешь в заголовках, тем лучше. Только те объявления, без которых
другие модули абсолютно не могут обойтись.
Однако решусь на уточнение. В последние годы я пользовался самописным фреймворком ("сквозным": ГУИ, работа с БД, отчёты ...). Почти все были описаны в заголов-ных файлах. Я продолжил эту традицию. Главное - помнить и соответствовать стилю фреймворка. Тогда будет предсказуемость в поиске всего нужного. А в случае чего, перегрузку никто не отменял - при многогодовых доработках неизбежно.
Короче говоря, добавляю как вариант ради "предсказуемости" архитектуры. И документировать удобнее даже доксигеном. И забота о будущих поколениях.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39990704
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
exp98,
Классно написал.
Как можно меньше писать в заголовках, но... почти все описываю)
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39990705
Фотография ну я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mini.weblab,

В больших библиотеках также встречается разделение хедеров на те что для использования извне и на те что внутри библиотеки, модули друг другу объявляют. Поскольку имена будут видны вовне, то эти внутренние имена в этом случае делают с декорированием имен под имя библиотеки.

Например для функций используемых снаружи библиотеки TreeLibInsertNode() а внутренние скажем TreeLib_insert_node().

Как вариант можно посмотреть внутренние сорсы реализации crt.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39990709
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну я,
Имхо это только запутывает.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39990711
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Переходите на С++20. Там хедеры вообще не нужны больше )))
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39990712
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly Moskovsky
Переходите на С++20. Там хедеры вообще не нужны больше )))

Как так?
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39990716
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39990717
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Объявления, в основном.
А, и определения шаблонов функций и классов, включая методы.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39990718
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mini.weblab

Вопрос: нужно ли прописывать вспогательные функции в заголовках?

НЕ НУЖНО.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39990720
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
читал более явный приказ - где можно и не легаси заменять хидеры на модули).
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39990723
Anatoly Moskovsky
mini.weblab
Вопрос: нужно ли прописывать вспогательные функции в заголовках?

Не нужно.
Более того их желательно объявить static, чтобы не зависеть от того есть ли в других модулях функции и переменные с таким именем (если вдруг есть, то возможен ряд эффектов начиная с ошибки линковки заканчивая случайными крэшами )

другой модуль = другой ns
но static конечно нужен, он ещё и помогает понять, что ф-я нигде больше не исп-ся
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39990733
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вместо static можно использовать анонимный namespace.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39990737
exp98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
exp98, Классно написал.
Мимо. Я добавил с точки зр. в сопровождении. Моё имхо: в любом варианте придерживаться "регулярности".
С т.зр. формального вопроса "нужно/необязат" ответы даны.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39990739
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотел я создать тему про приёмы понижения зависимостей между модулями, но поленился.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39990740
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_devЛямбды, порой, проще, чем обычные функции...

Критический недостаток: в отличии от вложенных функций у них нет доступа к локальным
переменным родителя. Фактически, их можно тупо скопипастить "наружу" и они ничего не
потеряют и не приобретут в плане функциональности.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39990743
petrav
Вместо static можно использовать анонимный namespace.

говорят static лучше
авторSummary
Avoid working with anonymous namespaces if you’re working with headers. Due to default internal linkage, each translation unit will define its own unique instance of members of the unnamed namespace which can cause unexpected results, bloat the resulting executable, or inadvertently trigger undefined behavior due to one-definition rule (ODR) violations.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39990744
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какое слово из "не используйте анонимные namespace в заголовочных файлах" ты прочёл как
"static лучше"?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39990747
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Критический недостаток: в отличии от вложенных функций у них нет доступа к локальным
переменным родителя. Фактически, их можно тупо скопипастить "наружу" и они ничего не
потеряют и не приобретут в плане функциональности.

Ну почему же. Пишете [&,this] - и есть доступ ко всему что может окружающий блок.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39990752
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly Moskovskyи есть доступ ко всему что может окружающий блок.
А ещё их нельзя вызвать из двух разных мест. То есть code reuse отпадает и остаётся только
костыль для того, чтобы впихнуть невпихуемое: код на место значения.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39990757
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зачем их вызывать из разных мест? Суть лямбд в использовании их там где они объявлены.
Для повторного использования кода есть классы и функции.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39990771
Dimitry Sibiryakov
Какое слово

походу то самое, которое ты прочёл, как "анонимные лучше"
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39990775
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly MoskovskyСуть лямбд в использовании их там где они объявлены.

В таком варианте они не отличаются от обычных фигурных скобок. За исключением того, что,
как уже сказано, могут занимать место значения.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39990799
mini.weblab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за ответы ! :-)
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39990808
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
А ещё их нельзя вызвать из двух разных мест. То есть code reuse отпадает и остаётся только
костыль для того, чтобы впихнуть невпихуемое: код на место значения.
Вызвать из двух разных мест одной и той же области видимости можно! Это же обычный функтор...
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
void foo()
{
  auto functor = [&] () -> bool
  {
    ...
    return true;
  }

  if ( functor() )
  {
    ...
  }

  return functor();
}
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39990811
лямбды не предлагают какой-то новый функционал, но они позволяют втыкать простые ф-и посреди кода, прямо там, где они нужны. Это экономит время, поскольку не нужно писать новый класс или внешнюю ф-ю.
Они и в многопоточности юзабельны.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39990816
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза 2020они позволяют втыкать простые ф-и посреди кода

Это и составной оператор может. У него и синтаксис попроще будет.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39990818
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза 2020
petrav
Вместо static можно использовать анонимный namespace.

говорят static лучше
авторSummary
Avoid working with anonymous namespaces if you’re working with headers. Due to default internal linkage, each translation unit will define its own unique instance of members of the unnamed namespace which can cause unexpected results, bloat the resulting executable, or inadvertently trigger undefined behavior due to one-definition rule (ODR) violations.

Тут вроде написано про работу с заголовочниками. Но даже если безымянный неймспейс написать в заголовочнике... Я не понял откуда там может взяться undefined behavior. Ведь #include это же просто подстановка текста.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39990853
UB из-за ODR, а ODR это:
авторПравило одного определения (One Definition Rule, ODR) — один из основных принципов языка программирования C++. Назначение ODR состоит в том, чтобы в программе не могло появиться два или более конфликтующих между собой определения одной и той же сущности (типа данных, переменной, функции, объекта, шаблона). Если это правило соблюдено, программа ведёт себя так, как будто в ней существует только одно, общее определение любой сущности. Нарушение ODR, если оно не будет обнаружено при компиляции и сборке проекта, приводит к непредсказуемому поведению программы.
и он пишет, что
авторИз-за внутренней связи по умолчанию каждая единица перевода будет определять свой собственный уникальный экземпляр членов безымянного пространства имен, что может привести к неожиданным результатам, раздуванию результирующего исполняемого файла или непреднамеренному запуску неопределенного поведения из-за нарушения правила одного определения (ODR).
т.е. получится безымянное пространство, которое сложится с любым другим безымянным пространством, и если там совпадут названия сущностей, то будет UB.
Я так понял.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39990854
Dimitry Sibiryakov
Алексей Роза 2020они позволяют втыкать простые ф-и посреди кода

Это и составной оператор может. У него и синтаксис попроще будет.
и макросы тоже могут.
а вот у составного оператора переменные где?
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39990875
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза 2020а вот у составного оператора переменные где?

Там же, где и у лямбд: или внутри, или снаружи.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39990880
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза 2020,
Не совпадут.
Не надо захламлять общее пространство и в полный рост надо использовать пространство имен.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39990883
ну не заменит, так не сделаешь ты:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
// function = generic function pointer type. SUPER useful for passing functions AS parameters
void perform_operation(function<void()> f)
{
    f(); // вот этот вызов инкрементирует x
}

int main(int argc, char *argv[])
{
    int x = 100;
    auto func = [&]() {x++;};

    perform_operation(func);
    cout << "X: " << x << endl; // 101
}
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39990885
PetroNotC Sharp
Алексей Роза 2020,
Не совпадут.
Не надо захламлять общее пространство и в полный рост надо использовать пространство имен.

мы про анонимные неймспейсы
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39990888
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза 2020,
Я понял.
Вы не ответили какой профит от такого бардака)).
Зачем делать анонима чтобы компилятор его именовал?
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39990898
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза 2020
и он пишет, что
авторчто может привести к ... непреднамеренному запуску неопределенного поведения из-за нарушения правила одного определения (ODR).

т.е. получится безымянное пространство, которое сложится с любым другим безымянным пространством, и если там совпадут названия сущностей, то будет UB.
Я так понял.
Никакого UB там не может быть.
Анонимные неймспейсы гарантируют что все что внутри них не подвержено нарушению ODR, потому что компилятор гененрирует уникальные имена в каждой единице трансляции.
Они собственно для этого и введены в язык.

А про раздувание машинного кода - да, вполне возможно.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39990922
Anatoly Moskovsky
Никакого UB там не может быть.

так о чём он пишет тогда?
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39990923
PetroNotC Sharp
Зачем делать анонима чтобы компилятор его именовал?

это вон там спрашивай:
petrav
Вместо static можно использовать анонимный namespace.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39990947
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза 2020
так о чём он пишет тогда?

Ну мало ли, какой-то студент написал чушь. ЧТо тут обсуждать ))
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39990970
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mini.weblab
Спасибо за ответы ! :-)

Больше нет вопросов?
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39990982
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
mini.weblab
Спасибо за ответы ! :-)

Больше нет вопросов?

А вам бы только темы закрывать. Это не навязчивая идея?
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39990983
mini.weblab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

я подумала, и порезала один большой файл на несколько небольших логических кусков,
и дальше, я пришла к решению exp98.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39991007
mini.weblab, у меня так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
// main.cpp:
#include <string>
#include <vector>
#include <...>

#include "core/_core.h"

int main()
{
    using namespace std;
    using namespace core;
    ...
}

// _core.h:
namespace core
{
#include "sub1/_ns.h"
#include "sub2/_ns.h"
} // ns

// _ns.h:
namespace sub1
{
#include "_c.h" // consts
#include "_v.h" // vars
#include "_s.h" // structs
#include "f_set_get.h" // helper funcs
#include "f_prn.h"
#include "Text_gen.h"
#include "Text_gen_f.h"
} // ns


там конечно "#pragma once" ещё везде
в больших прогах core - это отдельный .cpp
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39991014
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mini.weblab
mayton,

я подумала, и порезала один большой файл на несколько небольших логических кусков,
и дальше, я пришла к решению exp98.
воот. Пол шага до ООП осталось.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39991031
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav
mayton
пропущено...

Больше нет вопросов?

А вам бы только темы закрывать. Это не навязчивая идея?

Это необходимость. Слишком много людей хотят спекулировать на твоих топиках и обсуждать себя а не тему.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39991141
mini.weblab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза 2020,
я еще пока не добралась до C++.
Задача минимум сделать на С RB trees и Searching and Sorting Algorithms.
:-)
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39991193
Фотография AmKad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Слишком много людей хотят спекулировать на твоих топиках и обсуждать себя а не тему.
Это, наверное, камень в мой огород
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39991258
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov
Критический недостаток: в отличии от вложенных функций у них нет доступа к локальным
переменным родителя.

Я из-за этого стараюсь не использовать вложенные функции - потому, что локальные переменные внешней функции легко испортить.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39991312
mini.weblab
Алексей Роза 2020,
я еще пока не добралась до C++.
Задача минимум сделать на С RB trees и Searching and Sorting Algorithms.
:-)

C сегодня - это совсем низкоуровневое ПО, драйвера, микроконтроллеры и т.п.
C++ - скорость та же, а сахара и абстракций в разы больше
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39991317
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ
Dimitry Sibiryakov
Критический недостаток: в отличии от вложенных функций у них нет доступа к локальным
переменным родителя.

Я из-за этого стараюсь не использовать вложенные функции - потому, что локальные переменные внешней функции легко испортить.
как можно переменную "испортить"? Это что, девственница?)
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39991321
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ
Dimitry Sibiryakov
Критический недостаток: в отличии от вложенных функций у них нет доступа к локальным
переменным родителя.

Я из-за этого стараюсь не использовать вложенные функции - потому, что локальные переменные внешней функции легко испортить.

Типа... Я стараюсь не ездить по дорогам. Там можно людей легко задавить.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39991334
локальные переменные внешней функции легко испортить вложенной функцией...
что это вообще за набор слов?
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39991360
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Алексей Роза 2020
локальные переменные внешней функции легко испортить вложенной функцией...
что это вообще за набор слов?

Это Pascal.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39991362
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ,
Паскаль тут
22184276
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39991578
mini.weblab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза 2020
mini.weblab
Алексей Роза 2020,
я еще пока не добралась до C++.
Задача минимум сделать на С RB trees и Searching and Sorting Algorithms.
:-)

C сегодня - это совсем низкоуровневое ПО, драйвера, микроконтроллеры и т.п.
C++ - скорость та же, а сахара и абстракций в разы больше

для структур данных С подходит лучше всего, это имхо.
и кстати redis написан на С: https://github.com/redis/redis
и SQLite тоже

если я все это одолею, то с сахаром уже пойдет легче.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39991608
так они написаны ещё ДО 11 стандарта
mini.weblab
если я все это одолею, то с сахаром уже пойдет легче

это заблуждение, надо сразу на нём.
сами создатели рекомендуют сразу с C++ начинать.
mini.weblab
для структур данных С подходит лучше всего, это имхо.

оверхеда нет ни там, ни там. Компилятор, скорее всего, одинаковый код выдаст.
Но в C++ возможностей куда больше. Можно в структуре запилить всяческие автоматические проверки, наследования и т.п. ООП-вкусности.
В C ООП нет.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39991609
а впереди 2020, 2023, там ещё больше сахара.
в то время как в C вообще ничего не поменяется походу.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39991612
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mini.weblab
для структур данных С подходит лучше всего, это имхо.

странное утверждение.
Может обоснуете? Факты приведете?
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39991654
mini.weblab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
mini.weblab
для структур данных С подходит лучше всего, это имхо.

странное утверждение.
Может обоснуете? Факты приведете?

факты не приведу, это личное мнение.

1) для изучения структур данных С лучший, потому что все придется писать практически с нуля.
в других языках вы просто используете готовое решение, и подумаете, и нафига мне эти структуры сдались.
в общем не будет нужного эффекта.

2) максимальная гибкость при реализации своих структур. наверное поэтому практически все БД написаны на С/C++.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39991655
mini.weblab, да не, структуры повсюду юзаются
прям повсюду-повсюду
кругом vector<Clients>, map<AuthZ>
это ж самый ходовой способ передать пачку переменных
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39991656
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mini.weblab2) максимальная гибкость при реализации своих структур. наверное поэтому практически все
БД написаны на С/C++.

Маленький секрет: структуры в С++ это всего лишь синтаксический сахар для структур С. К
методам просто добавляется невидимый первый параметр this.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39991670
exp98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mini.weblab
факты не приведу, это личное мнение.
1)...
Не слушай искусителей. Как решила, так и делай.
Щас всё бросишь и влезешь в какую-то версию С++, пока приноровишься, придётся в следующую и т.д. Догонялка вечная, а хвосты подчищать уже не успеешь.

Перейти на ++ успеется, когда списки будут лишь рабочим инструментом и от зубов отскакивать. Пригодится в любом ЯП.
Реализация списков на базе вектора/массива. Циклический спис, 1-направленный, 2-направленный.
Тут кстати кто-то поманил Вектор передавать одним параметром. А массив не вектор что ли?
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39991671
кто-то активно юзает list в 2020?
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39991675
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза 2020
кто-то активно юзает list в 2020?

А почему бы и нет?
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39991676
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mini.weblab,
Ну да.
Будешь знать структуры на 5 и классы на три.
Жизнь то одна.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39991680
bk0010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза 2020
кто-то активно юзает list в 2020?
А что предлагаете вместо него?
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39991683
petrav
Алексей Роза 2020
кто-то активно юзает list в 2020?

А почему бы и нет?

bk0010
А что предлагаете вместо него?

ну есть конечно места, где он нужен (мы же про C++ ?), но всё-таки дефолтным является vector (c) Страуструп.
и уж конечно НЕ надо ради листа в C погружаться блин.
Страуструп много чего про C наговорил, например:
автор
YouTube Video
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39991686
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза 2020

ну есть конечно места, где он нужен (мы же про C++ ?), но всё-таки дефолтным является vector (c) Страуструп.

Во-первых, ты не понял Страуструпа.

Во-вторых, ты совершенно не понимаешь как работает list и vector. В каких алгоритмах лучше применять list, а где vector тоже не понимаешь.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39991689
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
// Build and use libraries
* Rely on type-safe concurrency;
* By default start with the C++ ISO standart library;
* Они уменьшают время компиляции в 5-10 раз и не надо 100500 раз компилировать одно и тоже;



Вот здесь старичок Бьярне прямо по больному месту бъёт. Культура и практика использования
библиотек (не системных а именно своих и других разработчиков) у С++ кодеров развита очень
плохо.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39991691
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton

Вот здесь старичок Бьярне прямо по больному месту бъёт. Культура и практика использования
библиотек (не системных а именно своих и других разработчиков) у С++ кодеров развита очень
плохо.

Зато у Ява прогеров эта культура развита очень хорошо.

Давайте не будем. Как раз высокоуровневые языки и провоцируют гавнокодинг, потому что люди
не понимают как оно на самом деле работает.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39991692
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
(пожимая плечами)

Как будет угодно. Я не настаиваю.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39991694
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
(пожимая плечами)

Как будет угодно. Я не настаиваю.



Кстати, а почему вы решили, что Страуструп считает, что разработчики на C++ именно сторонними и своими библиотеками пользуются неграмотно? А системными, соответственно, пользуются грамотно? Вы сделали упор на: «не системных а именно своих и других разработчиков».

Т.е. обычный программист на C++ использует STL грамотно, а как только дело доходит до использования своей библиотеки (или чужой) — так у этого программиста на C++ сразу мозг выключается? Так по вашему?
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39991696
petrav
Алексей Роза 2020

ну есть конечно места, где он нужен (мы же про C++ ?), но всё-таки дефолтным является vector (c) Страуструп.

Во-первых, ты не понял Страуструпа.

Страуструп топит за C++ на каждой конфе.
Во-вторых, ты совершенно не понимаешь как работает list и vector. В каких алгоритмах лучше применять list, а где vector тоже не понимаешь.
на листе написано, в каких алгоритмах его применять Как и на queue, и на stack.
ну главное штобы ты всё понял, теперь все будем ходить к тебе за советом.
petrav
Как раз высокоуровневые языки и провоцируют гавнокодинг, потому что люди
не понимают как оно на самом деле работает.

C++ - это НЕ оно. Там даже за абстракциями невозможно не понять, КАК оно работает. Всё как на ладоне и всегда знаешь, где каждый байт находится.
Ну вы там на C продолжайте свои стринги городить и гордиться ими.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39991701
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза 2020

C++ - это НЕ оно. Там даже за абстракциями невозможно не понять, КАК оно работает. Всё как на ладоне и всегда знаешь, где каждый байт находится.
Ну вы там на C продолжайте свои стринги городить и гордиться ими.

Под высокоуровневыми языками я имел в виду не С++, а Яву и Шарп, например. У языка С++ такая себе высокоуровневость... в кавычках.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39991703
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза 2020
C++ - это НЕ оно. Там даже за абстракциями невозможно не понять, КАК оно работает. Всё как на ладоне и всегда знаешь, где каждый байт находится.
UB or not UB?
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39991716
petrav
Алексей Роза 2020

C++ - это НЕ оно. Там даже за абстракциями невозможно не понять, КАК оно работает. Всё как на ладоне и всегда знаешь, где каждый байт находится.
Ну вы там на C продолжайте свои стринги городить и гордиться ими.

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

да, но говорил об этом в контексте C vs C++
хотя на самом деле mayton говорил о том, что в C++ люди заходят из C и у них эта культура "писать всё самому" развита больше, чем "юзать готовые абстракции".
Зачем ты там яву впихнул - не понятно.
В общем, в C++ нет этой проблемы, есть вот та, которую mayton описал, поэтому (а также потому что Бьёрне говорил) mini.weblab и не стоит начинать с C.
В C++ активно уходят от этой парадигмы. При этом "понимание низов" никуда не девается. Захочешь - полезешь в самые низы и разберёшься.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39991717
Basil A. Sidorov
Алексей Роза 2020
C++ - это НЕ оно. Там даже за абстракциями невозможно не понять, КАК оно работает. Всё как на ладоне и всегда знаешь, где каждый байт находится.
UB or not UB?

авторЧто бы я ни делал, в моём коде будут UB. Я ни на что не могу повлиять.
ну 3.14здец. Как же мы живём то? Почему первый же залетевший дятел до сих пор не разломал цивилизацию?
а у него точно KISS в крови есть?
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39991727
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза 2020
petrav
пропущено...

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

да, но говорил об этом в контексте C vs C++
хотя на самом деле mayton говорил о том, что в C++ люди заходят из C и у них эта культура "писать всё самому" развита больше, чем "юзать готовые абстракции".
Зачем ты там яву впихнул - не понятно.
В общем, в C++ нет этой проблемы, есть вот та, которую mayton описал, поэтому (а также потому что Бьёрне говорил) mini.weblab и не стоит начинать с C.
В C++ активно уходят от этой парадигмы. При этом "понимание низов" никуда не девается. Захочешь - полезешь в самые низы и разберёшься.

Моё наблюдение связано с аналогией судьбы языка Perl. Он тоже страдал подобным культурным феноменом.
Программисты Perl (прикладные) предпочитали написать свой код нежели использовать другой написаный
опен-сорц сообществом и опубликованный для развития и повсеместного использования. Такой подход
не позволяет консолидировать усилия а только изолирует разработчиков друг от друга.

Если вы не можете использовать кастомную библиотеку С++ по причине того что автор ее плохо написал - ее надо
улучшить и использовать. Если есть системо-образующие факторы которые не позволяют вам ее улучшать (плохой язык,
UB, отсутсвие репозитариев бинарного кода) - значит я прав и культурный феномен "С++ изоляционизма" реально существует.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39991728
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза 2020
Basil A. Sidorov
пропущено...
UB or not UB?

авторЧто бы я ни делал, в моём коде будут UB. Я ни на что не могу повлиять.

ну 3.14здец. Как же мы живём то? Почему первый же залетевший дятел до сих пор не разломал цивилизацию?
а у него точно KISS в крови есть?
У меня - дежа-вю. Аналогичную статью я читал лет 10 назад толи на хабре толи на rsdn.
Тоже один товарищ выгорел. Но этот (Анатолий Калин) продержался 17 лет и это вызывает удивление.
Здесь даже термин - выгорание не подходит. Это скорее философское переосмысление.
Он пишет что сейчас архитектурит на других языках. Я думаю что он просто нашел другую нишу.
Ему там проще.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39991737
я с Perl-а, кстати, начинал
точнее, первый свой дорген я написал на bash
а потом пересел на Perl и всё закрутилось в 5 раз быстрее...
Даже CRM на нём написал...
А через неск. лет всё закрутилось ещё быстрее (и легче) на PHP.
Perl с его культурой врагу не пожелаю. Достаточно на perlmonks глянуть.
авторRaku, ранее Perl 6 — язык программирования из семейства Perl-подобных языков. Рассматривается не как новая версия, следующая после Perl 5, а как самостоятельный язык программирования, и разрабатывается своей командой разработчиков. Реализация языка написана практически «с чистого листа».
Кесарю кесарево.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39991743
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonЕсли вы не можете использовать кастомную библиотеку С++ по причине того что автор ее плохо
написал - ее надо улучшить и использовать.

Типичная кастомная библиотека на С++: документации нет, части требуемого функционала нет,
населена багами. Автор давно испарился или пулл реквесты не принимает от слова "вообще".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39991747
mini.weblab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov

по ходу, автор программировал, программировал 17 лет, и так ничего и не понял...
вернее понял, что статьи таких же прыщавых сеньеров с хабра можно спокойно не читать
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39991749
Dimitry Sibiryakov
maytonЕсли вы не можете использовать кастомную библиотеку С++ по причине того что автор ее плохо
написал - ее надо улучшить и использовать.

Типичная кастомная библиотека на С++: документации нет, части требуемого функционала нет,
населена багами. Автор давно испарился или пулл реквесты не принимает от слова "вообще".
куда интереснее, почему на бусте такая орава неоптимизированных либ
и почему std::regex написан так, что его сильно бьёт boost::regex
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39991750
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly Moskovsky
Dimitry Sibiryakov
Критический недостаток: в отличии от вложенных функций у них нет доступа к локальным
переменным родителя. Фактически, их можно тупо скопипастить "наружу" и они ничего не
потеряют и не приобретут в плане функциональности.

Ну почему же. Пишете [&,this] - и есть доступ ко всему что может окружающий блок.

Извиняюсь, а зачем вы тут захватили "this"?
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39991754
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну да, он там не нужен. [&] даёт доступ к локальным переменным к которым относится и this. А [this] даёт доступ к классу. Глобальные переменные захватываются неявно по ссылке.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39991772
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav

Т.е. обычный программист на C++ использует STL грамотно, а как только дело доходит до использования своей библиотеки (или чужой) — так у этого программиста на C++ сразу мозг выключается? Так по вашему?

Да. Совершенно верно. В других ЯП существует культура повторного использования кода. Я имею в виду
прикладного. В С++ - она рудиментарна. Тоесть технически она существует. Но организационно - разработчики
к этому не готовы. И не имеют отлаженных сценариев включения любой прикладной библиотеки в свой код.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39991774
зависит от библиотеки всё таки
если хороший интерфейс и доки есть, чё там включать то
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39991776
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonНо организационно - разработчики к этому не готовы. И не имеют отлаженных сценариев
включения любой прикладной библиотеки в свой код.

Хочешь сказать, все работают с Оракулом, игнорируя готовую библиотеку OCI, а странички с
интернета грузят сами, без помощи WinInet/CURL? "Не верю!" (с)
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39991777
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза 2020 зависит от библиотеки всё таки
если хороший интерфейс и доки есть, чё там включать то

Слишком много "если". Я об этом и говорю. Нет культуры.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39991779
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

maytonНо организационно - разработчики к этому не готовы. И не имеют отлаженных сценариев
включения любой прикладной библиотеки в свой код.

Хочешь сказать, все работают с Оракулом, игнорируя готовую библиотеку OCI, а странички с
интернета грузят сами, без помощи WinInet/CURL? "Не верю!" (с)

При чем здесь OCI? Давай возьмем наугад 100 случайных библиотек в разных классах.
Драйверы сетевых протколов. Клиенты. Вычислительные библиотеки. Поддержка веба. Криптография.
Поддержка облаков типа Google/Amazon/Azure. И просто включим их в 1 проект.

Интеграционная задача! По сути я прошу написать привет-мир который объединяет множество
разного прикладного функционала.

И здесь моя техническая интуиция мне подсказывает что тебя поджидает большое количество трудностей.
И ты с этими трудностями просидишь слишком долго. Недопустимо долго для производственного процесса.

В то время как какой-нибудь Node.JS-ник на этих-же библиотеках не теряет времени. У него уже есть коробочный
механизм включения зависимостей и решений конфликтов.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39991786
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonавай возьмем наугад 100 случайных библиотек в разных классах. Драйверы сетевых протколов.
Клиенты. Вычислительные библиотеки. Поддержка веба. Криптография. Поддержка облаков типа
Google/Amazon/Azure. И просто включим их в 1 проект.

Сначала придётся придумать что это будет за химера-проект, требующий всё вот это.

maytonВ то время как какой-нибудь Node.JS-ник на этих-же библиотеках не теряет времени. У него
уже есть коробочный механизм включения зависимостей и решений конфликтов.

А коробочный механизм налития в голову документации этих библиотек у него тоже есть? Опять
"не верю!"

А так-то да, с той же лёгкостью я делаю "apt-get install libcurl-dev openssh-dev
libvulcan-dev" и получаю то же самое включение зависимостей и решения конфликтов.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39991789
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Отлично. Ты мне указал подбородком на семейство операционок Debian и на их менеджер пакетов.
Тоесть этим ответом ты мне сказал что часть сишников которые являются счастливыми обладателями Debian - достойны
иметь зависимости С++ а все остальные идут лесом. Я с тобой отчасти соглашусь. Но где здесь тема С++?

Мы были досаточно честны и прозрачны в этом вопросе? Или мы каким-то образом ущемили права других С++ кодеров?
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39991790
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonТоесть этим ответом ты мне сказал что часть сишников которые являются счастливыми
обладателями Debian - достойны иметь зависимости С++ а все остальные идут лесом.

Остальные - прекращают троллить на форуме и идут лесом читать про штатный менеджер пакетов
их излюбленной операционки.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39991792
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Печаль печальная. Значит у С++ нет менеджера пакетов.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39991794
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Печаль печальная. Значит у С++ нет менеджера пакетов.

То о чём вы говорите, скорее следствие малой распространённости языка. При большом количестве сфер применения языка, порой крайне специфичных сфер. Программисты тут скорее всего не причём.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39991829
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Малой распространенности?
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39991840
exp98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О чём был переполох? Увидели знакомое слово "список"? Вообще-то ТС сейчас вроде деревьями занята.
авторБудешь знать структуры на 5 и классы на три. Последнюю часть сначала надо доказать, автор прогнозист никакой.
И да, " жизнь даётся человеку один раз. И прожить её надо так, чтобы не было мучительно больно за бесцельно прожитые годы "(цэ), заполненные изучением очередной редакции ++2021 ... ++2048 ++2049 ... чтением на ночь очередной спецификации библиотеки ...

В то время как алгоритмы вечны.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39991841
exp98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Малой распространенности?
Наверное подразумевалось кол-во носителей.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39991845
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Малой распространенности?

Если сравнить количество вакансий на C++ и Java, то что у нас выходит?

И тут нужно учесть большое разнообразие специфики малого количества вакансий на С++.

Как им (программистам) сойтись в общих библиотеках?
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39991865
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
exp98
В то время как алгоритмы вечны.
приложения CRUD - Create, Update, Delete в бизнесе тоже вечны)).
Вы хотите соединить в одном лице теоретическую физику и практическую?
Можете попробовать на своих детях).
И да, изучение очередной спецификации и нового в ЯП это будни программиста. Работа такая.
Я за большую зарплату, большое здоровье и знание всего и вся если чё.

mayton,
https://docs.microsoft.com/ru-ru/cpp/build/vcpkg?view=vs-2019
?
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39991888
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да мне не надо линки кидать.

Вы мне скажите, сколько лично вы, ваши коллеги, используете эти репозитории?
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39991904
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Мало))).
Что проблема есть, я с тобой согласен.
Всё образуется.. с годами)
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39992097
exp98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Я за большую зарплату,...
И это осталось единственным аргументом в сторону немедленного хватания за ++.
Одновременно, другой рядом пишет
авторИ тут нужно учесть большое разнообразие специфики малого количества вакансий на С++. И оба зовут ТС переходить на ++.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39992101
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
exp98,
нет конечно.
Я не максималист. В крайности не хожу.
Выше была сказана крайность - начинать с алгоритмов и основ ЯП.
Вот я и не согласился).
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39992107
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp

Что проблема есть, я с тобой согласен.
Всё образуется.. с годами)

Скоро будет 40 лет.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39992115
mini.weblab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я наконец-таки сделала АВЛ дерево! осталось пофиксить баги. :-)

структуры данных и алгоритмы нужно брать сразу после изучения основ языка, чтобы
а) закрепить синтаксис
б) привыкнуть к языку
в) получить удовольствие от написания кода
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39992133
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Ну, в java на моей памяти развернулись на 180 градусов и отдали весь клиент с ГУИ соисполнителям js'никам).
mini.weblab,
Да. Трудолюбие поощряется. Только имейте ввиду что не женская это профессия.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39992178
Фотография ну я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Печаль печальная. Значит у С++ нет менеджера пакетов.

Форум по C++. А на нем - пакеты, менеджеры пакетов, пакеты с пакетами, пакеты с менеджерами. Во что превратили C++?
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39992184
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну я,
Да. Каждый прогер должен заново написать свой логгер, доступ к бд и сортировку пузырьком.
Вечный спор.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39992196
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну я
mayton
Печаль печальная. Значит у С++ нет менеджера пакетов.

Форум по C++. А на нем - пакеты, менеджеры пакетов, пакеты с пакетами, пакеты с менеджерами. Во что превратили C++?

Знаешь какой мой любимый вопрос по С++?

Как рисовать графику. Честно. Я просто фигею. Будущие инженеры С++. Это (теоретически) аццкая элита
системного программирования которая должна знать стек от "сих до сих" и знать системообразующие
его части такие как ОС, драйвер видео, e.t.c.. И я ничего не могу им ответить.

После короткого ответа - "Не рисует графику С++." может начаться либо прояснение в мозгу либо
может начаться тихая истерика у того кто этот вопрос задал. Выбирайте опции.

Я-бы очень хотел засунуть конкретные вопросы по Visual C++ или Gcc в подфорум. Но нет. Нет
у нас пока подфорума. И нет единого мнения по тому где и сколько надо подфорумов. Не сложилось
не слюбилось. Вот и идут ВСЕ вопросы в том числе по железу и сетям сюда-же в С++.

А может и не надо ничего делать? Все в телеграм ушли. А здесь остались философы.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39992208
mayton
Все в телеграм ушли.

эт зачем?
там гуглом не найдёшь.
и бекап не сделаешь.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39992211
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Просто факт.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39992220
mayton
Это (теоретически) аццкая элита системного программирования которая должна знать стек от "сих до сих" и знать системообразующие его части такие как ОС, драйвер видео, e.t.c..

вообще это конечно хорошо, но даже доктора делятся на профессии.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39992224
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC SharpКаждый прогер должен заново написать свой логгер, доступ к бд и сортировку пузырьком.

Да. Если на функцию из трёх строк ему надо искать готовую библиотеку, то лучше сразу
переквалифицироваться с С++ в Дельфи или уже названный жс.ноде.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39992227
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,
Да понятно что должен быть баланс.
Никто не спорит.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39992579
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза 2020
petrav
Во-вторых, ты совершенно не понимаешь как работает list и vector. В каких алгоритмах лучше применять list, а где vector тоже не понимаешь.

на листе написано, в каких алгоритмах его применять Как и на queue, и на stack.
ну главное штобы ты всё понял, теперь все будем ходить к тебе за советом.
О каком list'е речь?
std::initializer_list был есть и будет. Огромное кол-во шаблонов STL, таких как std::map, std::vector, std::set и т.д., в конструкторах принимают данный типизированный шаблон.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39992857
а в основе всё равно будет лежать массив.
rdb_dev
О каком list'е речь?

об этом
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39992868
Фотография CEMb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
После короткого ответа - "Не рисует графику С++." может начаться либо прояснение в мозгу либо
может начаться тихая истерика у того кто этот вопрос задал. Выбирайте опции.
C++ отлично рисует графику. Но не выводит. Это важный момент. Поэтому я тут месяц назад бегал с объяснениями, почему в плюсах можно сделать платформо-независимый быстрый и удобный GUI
Алексей Роза 2020
mayton
Все в телеграм ушли.
эт зачем?
там гуглом не найдёшь.
там, оказывается, есть довольно неплохой поиск(в веб-версии). Ну и там добрые отзывчивые люди. Илья там немного выбивается из общей массы по количеству слов типа "идиот" на метр текста, но тоже исключительно из добрых, наставнических побуждений
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39992871
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CEMb
можно сделать платформо-независимый быстрый и удобный GUI
Это оксюморон какой-то. Ну или ваш "ГУЙ" можно в ANSI-терминале нарисовать.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39992873
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза 2020
а в основе всё равно будет лежать массив.
rdb_dev
О каком list'е речь?
об этом
std::initializer_list попроще будет...
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39992875
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CEMb, стандартная библиотека C++ никаких графических приблуд не имеет. Может ты имел в виду библиотеку Cairo?
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39992882
Фотография CEMb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
Это оксюморон какой-то. Ну или ваш "ГУЙ" можно в ANSI-терминале нарисовать.
я тут в свободное время немного поэкспериментировал на тему быстро запиливаемого GUI, вроде что-то получаться началось, я ещё немного поиграюсь и заведу тут тему для обсуждения, не пугайтесь.

rdb_dev
CEMb, стандартная библиотека C++ никаких графических приблуд не имеет. Может ты имел в виду библиотеку Cairo?
Да, я немного неправильно выразился. Имел ввиду, что в плюсах очень удобно работать с графикой. Графика это что? Это набор байтов. И плюсы очень хорошо подходят для быстрой и удобной обработки больших объёмов данных, в частности - графики. Поэтому "рисовать" графику в плюсах можно. А вот выводить её на устройства - нельзя. Возвращаясь к тому сообщению, я считаю, что это очень важный момент по теме разделения данных, работы с ними и их отображения. Первые два пункта плюсы очень хорошо обеспечивают, и это два основных пункта.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39992890
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CEMb,
Может термин Растрировать графику на HDC/Canvas?
Так как непонятно чо вы имеете ввиду.
Раньше говорилось что работа на несколько человеко лет.
А время то идёт)... Даже когда вы в телеграмме).
Кстати разделение графики не панацея.
Например в 3D пришли к конвейерному кодированию, шейдеры и новому ЯП GLSL
Так что наоборот все в кучу вместе с видюхой.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39992896
Фотография CEMb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Может термин Растрировать графику на HDC/Canvas?
Если про "выводить", то да, оно самое.
PetroNotC Sharp
Раньше говорилось что работа на несколько человеко лет.
А время то идёт)... Даже когда вы в телеграмме).
Где, кем, про что говорилось?
PetroNotC Sharp
Кстати разделение графики не панацея.
Например в 3D пришли к конвейерному кодированию, шейдеры и новому ЯП GLSL
Так что наоборот все в кучу вместе с видюхой.
Потому что там уже совсем своя железка, на которой выполняется свой код, поэтому шейдеры отделились. И это тоже хорошо, потому что у тебя отдельно сами 3D, и отдельно обработка этих 3D, независимая от самого 3D. У тебя вершинные шейдеры могут гнуть любой подсовываемый объект, и никак с этим объектом напрямую не связаны.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39992934
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CEMb,
В ваших тредах тут пару месяцев назад.
О том что задача очень большая и для одного человека неподъемная.
Это имхо было.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39992936
Фотография CEMb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
О том что задача очень большая и для одного человека неподъемная.
Это имхо было.
Это ж про GUI речь? Всё так, если делать что-то типа Qt. Но у меня была идея сделать что-то маленькое, примитивное и без вывода/растра/рендера, но быстро. Если получится - может быть дальше что-то придумывать и развивать. Если не получится - ну я потратил пока не сильно много времени.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39992939
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CEMb,
OFF
Тогда я опять не понял ваш замысел.
В прошлый развы гворили о кроссплатформенности.
Ну а по скорости, тут уже 100 раз отмечали что нет проблем по этому критерию.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39992944
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CEMb
Илья там немного выбивается из общей массы по количеству слов типа "идиот" на метр текста, но тоже исключительно из добрых, наставнических побуждений

Илья там кажется владелец ресурса. Поэтому может обложить диагнозами всех
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39992949
Фотография CEMb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Тогда я опять не понял ваш замысел.
В прошлый развы гворили о кроссплатформенности.
Ну а по скорости, тут уже 100 раз отмечали что нет проблем по этому критерию.

Про задумку: я хочу просто сделать иерархию объектов(контролов), в которую можно передавать события и получать ответную реакцию. Сейчас это нажатия мышкой, в ответ прилетает OnCommand с id.

Про кроссплатформенность: она получается автоматически, потому что там чистые плюсы.

Про скорость: будем считать это моей личной проблемой/заморочкой, что я не могу осилить Qt, чтобы быстро на ней разрабатывать. Поэтому решил придумать, как быстро лепить интерфейсы в плюсах с нуля и без Qt. Это если речь про скорость - именно про скорость разработки.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39992966
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CEMb,
Иерархию контролов делает прогер. То есть я сам когда верстаю или конструирую ГУИ.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39993157
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CEMb
Basil A. Sidorov
Это оксюморон какой-то. Ну или ваш "ГУЙ" можно в ANSI-терминале нарисовать.
я тут в свободное время немного поэкспериментировал на тему быстро запиливаемого GUI, вроде что-то получаться началось, я ещё немного поиграюсь и заведу тут тему для обсуждения, не пугайтесь.

Давайте уж, не томите. :)
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39993166
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CEMb
Графика это что? Это набор байтов. И плюсы очень хорошо подходят для быстрой и удобной обработки больших объёмов данных, в частности - графики.

Будет явовский Swing, но на плюсах? Как свежо.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39993186
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъБудет явовский Swing, но на плюсах?

Нет, всего лишь ещё один Qt, FMX и т.д. и т.п.
Сойдёт для систем, где крутится всего одна задача, типа платёжного киоска.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39993200
Фотография CEMb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или никто внимательно не читает, или я так плохо объясняю суть идеи?
PetroNotC Sharp
Иерархию контролов делает прогер. То есть я сам когда верстаю или конструирую ГУИ.
речь про обработку этой иерархии.
petrav
Давайте уж, не томите. :)
сначала надо сделать, чтоб работало, и убедиться, что это быстро и удобно. Если так будет - тогда можно будет что-то обсуждать.
ъъъъъ
Будет явовский Swing, но на плюсах? Как свежо.
Dimitry Sibiryakov
Нет, всего лишь ещё один Qt, FMX и т.д. и т.п.
Ну вот нет, речь вообще не про графику. Графика там вообще отдельная независимая тема.
Dimitry Sibiryakov
Сойдёт для систем, где крутится всего одна задача, типа платёжного киоска.
Может даже для них не сойдёт. Часто бывают задачи, на которые хочется потратить 1-2 часа максимум, и там есть окна с несколькими контролами. Хочется за 5 минут слепить эти окна и дальше заниматься самой задачей. Наверно, Qt умеет так делать, но мне, например, не хочется таскать за собой Qt ради маленькой прожки, да и я не знаю Qt.

Ещё раз, коротко: 1. Идея в том, чтобы сделать аскетичный UI, который можно воткнуть в проект за три минуты, не ставя ни какие библиотеки, воткнув 1-2 заголовка в проект, типа как с stl.
2. Графика - это отдельная опциональная библиотека. Можно рисовать самому. Вывод графики наружу и обработка событий - две вообще никак не связанных между собой библиотеки, это основная задумка.

Я сделаю 2 подхода: 1. когда есть свои окна. Например, я создал дефолтное Win32/MFC/OpenGL, там есть готовое окно. Или мне хочется создавать окна самому, а возиться с внутренностями мне лень. 2. когда окон нет, т.е. я хочу, чтобы библиотека сама мне нагенерила системное окно, на которых потом будут созданные мной контролы. Можно и так и так одновременно. Сами контролы можно создавать вручную, а можно загрузить весь слой из xml-ки. Можно и так и так одновременно и несколько иерархий на одном окне сразу.
Вот как сейчас выглядит окно "редактора" (50% от размера), "библиотека графики" занимает 20 строчек.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39993209
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CEMb,

>Сами контролы можно создавать вручную, а можно загрузить весь слой из xml-ки.
== если из dfm' ки то будет дельфи/vcl на С++
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39993217
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CEMb
Идея в том, чтобы сделать аскетичный UI, который можно воткнуть в проект за три минуты, не ставя ни какие библиотеки, воткнув 1-2 заголовка в проект, типа как с stl.
Ну ладно винда - там GUI (более-менее) обратно-совместимый. Будет "как деды делали", но хотя бы работоспособное.
А вот что делать с линуксами, где "есть из чего выбрать"?
ncurses (v.5 и v.6), SDL (тоже, вроде, разных версий), иксы (в двух вариантах) и ещё стопка сред и каркасов поверх каждого из них.
Точно потяните "одним-двумя заголовками"?
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39993242
Фотография CEMb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
== если из dfm' ки то будет дельфи/vcl на С++
Нет, у меня всё проще(примитивнее)
Basil A. Sidorov
Точно потяните "одним-двумя заголовками"?
Не знаю, первым делом хочу с виндой разобраться, а там посмотрим. Если не про графику - 1-2 заголовка хватит, да.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39993258
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CEMb
Или никто внимательно не читает, или я так плохо объясняю суть идеи?

Тогда нужно писать header-only ООП библиотеку вокруг WinAPI GUI.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39993275
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav,
Кроссплатформа цель
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39993282
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
petrav,
Кроссплатформа цель

И что? ООП оболочка не должна зависеть от платформы. При портировании заменить нижний слой.

Когда-то MFC работала под MacOS, ЕМНИП.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39993284
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11, SDL, Qt, AWT, Swing, JavaFX ... Что ещё забыто?
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39993289
Фотография CEMb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav
Тогда нужно писать header-only ООП библиотеку вокруг WinAPI GUI.
Нет, давайте пока забудем про WinAPI и GUI, пока речь идёт только про структуру UI.

Обычно все такие системы делаются "стопкой", внизу логика, вверху картинка. Вот я хочу сделать в виде двух независимых ветвей: одна - логика, вторая - картинка. И основная цель - логика.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39993298
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Basil A. Sidorov
X11, SDL, Qt, AWT, Swing, JavaFX ... Что ещё забыто?

WxWidgets.
Там всё, как хочет коллега СЕМЬ: и за пять минут, и в визуальном редакторе или без, и в xml. И линкуется как хочешь. И модель отдельно от вью. Но для сборки нужна библиотека (набор либ и хэдеров), ах.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39993301
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav,
Думаю он делает в будущем не портирование, а как в java.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39993305
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ
Basil A. Sidorov
X11, SDL, Qt, AWT, Swing, JavaFX ... Что ещё забыто?

WxWidgets.
Там всё, как хочет коллега СЕМЬ: и за пять минут, и в визуальном редакторе или без, и в xml. И линкуется как хочешь. И модель отдельно от вью. Но для сборки нужна библиотека (набор либ и хэдеров), ах.

А WxWidgets ещё и изучать надо. Это тоже не подходит.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39993320
Фотография CEMb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ
WxWidgets.
меня настораживает:
MasterZiv
wxWidgets -- говно.

Но и wxWidgets это немного больше, чем я хочу. Оно, насколько помню, само рисует.

PetroNotC Sharp
Думаю он делает в будущем не портирование, а как в java.
А как в java?
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39993335
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CEMb,
Так. Тут фаза компиляции только для ускорения. А jvm у тебя будет наверно просто либа и процесс в системе. Как переводчик.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39993338
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЕсли MFC создавалась для облегчения работы программиста в среде Windows, для предоставления ему абстрактных оберток над «голым» Windows API (на котором в принципе возможно реализовать все то же самое, не пользуясь MFC), то JFC является интегральной частью самой платформы Java, а не оберткой над неким нативным API. Кроме того, JFC, будучи реализована на полностью объектно-ориентированном языке Java, гораздо более последовательно соответствует идеологии и парадигме объектно-ориентированного программирования.
https://ru.m.wikipedia.org/wiki/Java_Foundation_Classes
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39993358
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Технически сегодня многие компилляторы стараются стать много-уровневыми (LLVM)
Тоесть отказаться от цели собирать конкретно бинарь под x86_64 а просто остановиться
на некотором хай-левел ассемблере. Тоесть из СЛОЖНОСТИ компиллятора будет
просто выброшена большая часть специфики Intel железа к примеру. Это открывает
просто большие возможности к множеству хороших и разных языков разработки.

И в то-же время их бинарники могут быть быстро-запускаемыми (ahead-of-time) для JVM.
Или они могут собираться в фазе инсталляции (Android/Dax). Тоесть запуск будет не отличим
от нативного.

Я думаю что эти цели - достижимы одновременно. И я не вижу почему в современном
мире программист обязан собирать код только под какую-то одну ОС. Ну ... разве что
он - кодит эту ОС или дрова под нее.

Или он - изучает старые компилляторы. Или ассемблер.

Или он - просто мембер sql.ru.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39993361
Фотография CEMb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Так. Тут фаза компиляции только для ускорения. А jvm у тебя будет наверно просто либа и процесс в системе. Как переводчик.
Не, сейчас это работает так: есть иерархический контейнер(…). Он с кодом, он в заголовках (пока не совсем), он вкомпилируется в проект. Это всё похоже на дерево окон. Туда можно добавлять объекты. Это пока просто объект с размерами и enabled-disabled, visible-hidden. Т.е. их можно двигать, "скрывать"/"показывать", блокировать. Условно. Это, типа, ядро системы .
Далее, есть пара интерфейсов, один для событий, второй для реакций. Мы создаём класс и наследуемся от этих интерфейсов, или только одного из них, смотря что нам надо.
Интерфейс для событий содержит функции для передачи событий от настоящего окна в эту иерархию объектов.
Интерфейс для реакций содержит callback-и, которые вызываются в классе, когда происходит какое-то событие. Сейчас оно там одно: нажали кнопку.
Прикольно, не знал про это
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39993367
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CEMb,

>Не, сейчас это работает так:
Ты просто не дошел до кроссплатформенности).
А там развилка будет
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39993379
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CEMb
PetroNotC Sharp
Так. Тут фаза компиляции только для ускорения. А jvm у тебя будет наверно просто либа и процесс в системе. Как переводчик.
Не, сейчас это работает так: есть иерархический контейнер(…). Он с кодом, он в заголовках (пока не совсем), он вкомпилируется в проект. Это всё похоже на дерево окон. Туда можно добавлять объекты. Это пока просто объект с размерами и enabled-disabled, visible-hidden. Т.е. их можно двигать, "скрывать"/"показывать", блокировать. Условно. Это, типа, ядро системы .
Далее, есть пара интерфейсов, один для событий, второй для реакций. Мы создаём класс и наследуемся от этих интерфейсов, или только одного из них, смотря что нам надо.
Интерфейс для событий содержит функции для передачи событий от настоящего окна в эту иерархию объектов.
Интерфейс для реакций содержит callback-и, которые вызываются в классе, когда происходит какое-то событие. Сейчас оно там одно: нажали кнопку.
Прикольно, не знал про это

Пора создавать тему.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39993392
Фотография CEMb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Ты просто не дошел до кроссплатформенности).
Плюсы - кроссплатформенные :)
petrav
Пора создавать тему.
Нет, сначала прототип. Если всё это не заработает или будет неудобно - тема не нужна.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39993395
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CEMb
PetroNotC Sharp
Ты просто не дошел до кроссплатформенности).
Плюсы - кроссплатформенные :)

Ты знаешь. В лихие 90-е когда то я подходил к ГАИ-шнику и спрашивал - почему такой беспорядок и пробки
на кольцевой. Он подумал и ехидно ответил:

- Мы отвечаем за порядок. За беспорядок - не отвечаем.

Вобщем плюсы - кроссплатформенные только для некого подмножества компилляторов.
Полный список я приводил где-то в голосовании. Но если мы глубже копнём в этот
вопрос - то придётся написать еще 10 000 поправок к этой конституции С++ где
мы будет детализировать и разъяснять что-же означает это загадочное слово
кроссплатформенность. Это как разъяснять что такое независимость для некоторых
европейских государств. Вроде вопрос простой. А начнешь разъяснять - можно
"словить по лицу" хук или джеб.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39993406
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Это как разъяснять что такое независимость для некоторых
европейских государств. Вроде вопрос простой. А начнешь разъяснять - можно
"словить по лицу" хук или джеб.

Раз оффтоп. Хотел спросить: вы знакомы с таким человеком как Сергей Немчинский?
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39993410
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CEMbменя настораживает:

Просто Зив из конкурирующей стаи: он КуТишник.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39993413
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CEMb
wxWidgets это немного больше, чем я хочу. Оно, насколько помню, само рисует

- Вот тебе удочка. Нет? Вот тебе рыба.
- Дело в том, что я вегатерианец...
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39993473
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CEMb
PetroNotC Sharp
Ты просто не дошел до кроссплатформенности).
Плюсы - кроссплатформенные :)
petrav
Пора создавать тему.
Нет, сначала прототип. Если всё это не заработает или будет неудобно - тема не нужна.

Тогда скажите тут: нахрена вам эти прямоугольники, которые реагируют на мышь? Если вы на этой основе хотите сами с нуля разработать систему своих контролов, то вы недооцениваете сложности. У вас по простому даже LineEdit сделать не получится. Максимум убогая версия check box у вас получится.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39993476
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А давайте (условно) посчитаем количество человеко-часов которые были уже вложены в Qt.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39993478
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зачем это считать когда можно топить за code reuse вне зависимости от трудоёмкости. Есть
готовая библиотека (пусть даже кривая и делающая не совсем то, что надо), значит надо её
использовать и не умничать.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39993508
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я поддерживаю креационизм автора в том случае когда для него дешевле и проще написать
и юзать свою библиотеку чем разобраться в Qt.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39993569
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Я поддерживаю креационизм автора в том случае когда для него дешевле и проще написать
и юзать свою библиотеку чем разобраться в Qt.

Можно и так. Но тогда придётся ограничиться прямоугольниками + ЛКМ.

Потому что дальше реализовывать будет и дороже, и сложнее, чем базово освоить Qt.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39993571
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav
mayton
Я поддерживаю креационизм автора в том случае когда для него дешевле и проще написать
и юзать свою библиотеку чем разобраться в Qt.

Можно и так. Но тогда придётся ограничится прямоугольниками + ЛКМ.

Потому что дальше реализовывать будет и дороже, и сложнее, чем базово освоить Qt.

И еще один поинт. Платность поддержки. Все участники топика советующие использовать Qt,
должны понимать что цена вопроса - деньги. Платная поддержка и фиксация багов - будет
главным аргументом против использования Qt. Возможно у СЕМЬ есть
видение того что проще и практичнее поддерживать самого себя своими силами
или силами своей команды в разработке своего графического фреймворка.

Тоесть советовать Qt сегодня - это все одно что советовать купить Oracle.
Круто конешно не не все малые фирмы потянут.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39993581
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Тоесть советовать Qt сегодня - это все одно что советовать купить Oracle.
Круто конешно не не все малые фирмы потянут.

?! Очевидно же, что СЕМЬ пишет довольно простые GUI. Какая платная поддержка и фикс багов в Qt?
Там на простом уровне всё и так работает отлично. Баги возникают если хочется чего-то необычного.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39993614
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Баги возникают внезапно. И в этот момент надо срочно либо фиксить Qt либо искать обходной путь.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39993892
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот крутой GUI к которому нужно стремится.

Old school, true skill, full hardcore.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39993900
есть же Midnight Commander
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39993917
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза 2020
есть же Midnight Commander

Он предоставляет библиотеку для такого UI ?

Ну вот... Создаём *графическое* окно и графикой полностью реализуем Turbo Vision.

Прямоугольники коллега СЕМЬ уже реализовал.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39993918
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот шикарная графика была.



ИЧСХ всем хватало. Ну.. разрешение экрана можно было увеличить и все. Все просто. Однопоточное.
И как щас модно говорить event-driven.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39993920
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

Тут скорее визуальную тему для Qt нужно разрабатывать. А СЕМЬ не переваривает Qt.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39993924
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я равнодушен к Qt. Но мне кажется что тут важно оценить compexity всего стека технологий.

Разработчик должен знать стек. Если для него (разработчика) в стеке есть трудности или белые пятна.
Или стек - коммерческий и существует только в виде бинарников - то разработчик беспомощен перед
проблемой и не может ее решить.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39993943
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Некоторое время назад мы нашли артефакт в отрисовке Qt-контролов под Windows.

Кто нибудь из присутствующих пытался разбираться в ситуации?
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39993944
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav

Эта итоговая компиляция ваших слов прекрасна во всём. Я... в восторге.

Давайте как-то ... уберём персонализацию из нашего форума.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39993945
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Некоторое время назад мы нашли артефакт в отрисовке Qt-контролов под Windows.

Кто нибудь из присутствующих пытался разбираться в ситуации?

Сибиряков утверждал, что с начала приходит WM_SHOWWINDOW, а потом WM_PAINT.
И, я так понял, что Qt тут не при чём.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39993949
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petravСибиряков утверждал, что с начала приходит WM_SHOWWINDOW, а потом WM_PAINT.

Не помню чтобы утверждал такое, но это логично, если система не просит отрисоваться
невидимое окно.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39993953
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

petravСибиряков утверждал, что с начала приходит WM_SHOWWINDOW, а потом WM_PAINT.

Не помню чтобы утверждал такое, но это логично, если система не просит отрисоваться
невидимое окно.

Моё мнение было тогда в том, что сначала должно быть WM_PAINT, кеширование bitmap в контексте устройства вывода, а потом на WM_SHOW сразу вывод уже готовой картинки. Мне кажется так логичнее.
...
Рейтинг: 0 / 0
C: что записывать в заголовочные файлы?
    #39993960
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ни Windows GDI ни X server так не работают. У Икса появилась двойная буферизация, но никто
не знает как с ней работать, толкового описания, как это водится у линухов, нет.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
185 сообщений из 185, показаны все 8 страниц
Форумы / C++ [игнор отключен] [закрыт для гостей] / C: что записывать в заголовочные файлы?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]