Size: a a a

2021 February 19

LA

Liber Azerate in supapro.cxx
David Kravets
И был такой разговор о парадигмах программирования , можно ли реализовать ООП на С , представляешь ? И я написал что можно , потому что по информатике говорили что любая из этих моделей может был реализована в другой
Ну как бы представляю, и что? Какое это вообще имеет отношение к обсуждаемому вопросу?
источник

LA

Liber Azerate in supapro.cxx
May Day
ООП на си?
Да
источник

DK

David Kravets in supapro.cxx
Liber Azerate
Ну как бы представляю, и что? Какое это вообще имеет отношение к обсуждаемому вопросу?
Это я просто написал
источник

LA

Liber Azerate in supapro.cxx
David Kravets
Это я просто написал
Можешь писать такое во флудилке, в целом
источник

S

Stepan in supapro.cxx
Расулходжа Ганиев
привет, у меня вопрос по C
как можно узнать размер динамического массива (как узнать количество элементов внутри массива)?
1. Оперировать переменной, хранящей длину массива
2. Хранить (в конце) элемент с сигнал-значением
источник

И

Илья in supapro.cxx
David Kravets
А зачем их искать ? Я вообще считаю что программировать можно научиться только с помощью математики, а язык это всего лишь грамматика
Всего-лишь грамматика. В книжках А: объясняют теорию. Б: показывают как лучше всего написать тот или иной кусок кода для задачи. Без этого твой путь будет  зернист и сложен.
источник

DS

Dmitry Shulga in supapro.cxx
Здравствуйте, есть вопрос: можно ли иначе проверить на валидность указатель? вроде бы обычная проверка в итоге пропускает ошибку.
Объект proxy в том потоке, судя по отладчику, валиден, его удаления не производится ни до, ни после - почему же тогда proxy->type может крашить? Спасибо.
Есть структура:
struct proxyItem{
   proxyItem();
   proxyItem(QString, QString, QString, QString, QString);
   proxyItem(const proxyItem&);
   QString ip, port, type, user, pass;

   bool operator==(const proxyItem&)const;
};

Есть функция, которая редко, но крашит, видимо на этапе proxy->type+":"
QString NetworkModel::proxyToString(proxyItem *proxy, bool flag) const
{
   QString result;
   if(proxy){
       result = (flag)?"":proxy->type+":";    
       result += proxy->ip + ":" + proxy->port + ":" + proxy->user + ":" + proxy->pass;
   }
   return result;
}

Конкретно последняя точка была в QString t(s1):
inline QT_ASCII_CAST_WARN const QString operator+(const QString &s1, const char *s2)
{ QString t(s1); t += QString::fromUtf8(s2); return t; }

Кусок стека:
  Qt5Core.dll!QString::QString(const QString & other)Строка 525  C++  Символы загружены.
>  app.exe!operator+(const QString & s1, const char * s2=0x00d21964)Строка 1534  C++  Символы загружены.
  app.exe!NetworkModel::proxyToString(proxyItem * proxy=0x05f989d8)Строка 456  C++  Символы загружены.
  app.exe!NetworkModel::data(const QModelIndex & index={...}, int role=0)Строка 38  C++  Символы загружены.
источник

DK

David Kravets in supapro.cxx
Илья
Всего-лишь грамматика. В книжках А: объясняют теорию. Б: показывают как лучше всего написать тот или иной кусок кода для задачи. Без этого твой путь будет  зернист и сложен.
Ну это мало как связанно с программированием, это больше всего кодинг, хотя сегодня и то и другое объединяют
источник

LA

Liber Azerate in supapro.cxx
David Kravets
Ну это мало как связанно с программированием, это больше всего кодинг, хотя сегодня и то и другое объединяют
Определи программирование и кодинг
источник

ПК

Побитый Кирпич... in supapro.cxx
Dmitry Shulga
Здравствуйте, есть вопрос: можно ли иначе проверить на валидность указатель? вроде бы обычная проверка в итоге пропускает ошибку.
Объект proxy в том потоке, судя по отладчику, валиден, его удаления не производится ни до, ни после - почему же тогда proxy->type может крашить? Спасибо.
Есть структура:
struct proxyItem{
   proxyItem();
   proxyItem(QString, QString, QString, QString, QString);
   proxyItem(const proxyItem&);
   QString ip, port, type, user, pass;

   bool operator==(const proxyItem&)const;
};

Есть функция, которая редко, но крашит, видимо на этапе proxy->type+":"
QString NetworkModel::proxyToString(proxyItem *proxy, bool flag) const
{
   QString result;
   if(proxy){
       result = (flag)?"":proxy->type+":";    
       result += proxy->ip + ":" + proxy->port + ":" + proxy->user + ":" + proxy->pass;
   }
   return result;
}

Конкретно последняя точка была в QString t(s1):
inline QT_ASCII_CAST_WARN const QString operator+(const QString &s1, const char *s2)
{ QString t(s1); t += QString::fromUtf8(s2); return t; }

Кусок стека:
  Qt5Core.dll!QString::QString(const QString & other)Строка 525  C++  Символы загружены.
>  app.exe!operator+(const QString & s1, const char * s2=0x00d21964)Строка 1534  C++  Символы загружены.
  app.exe!NetworkModel::proxyToString(proxyItem * proxy=0x05f989d8)Строка 456  C++  Символы загружены.
  app.exe!NetworkModel::data(const QModelIndex & index={...}, int role=0)Строка 38  C++  Символы загружены.
Не удаляй proxy пока не закончишь с ним работу
источник

DS

Dmitry Shulga in supapro.cxx
Побитый Кирпич
Не удаляй proxy пока не закончишь с ним работу
он не удаляется совершенно точно, деструктор сработает только при завершении программы. Может тут со стеком проблема или еще в чем-то?
источник

ПК

Побитый Кирпич... in supapro.cxx
Dmitry Shulga
он не удаляется совершенно точно, деструктор сработает только при завершении программы. Может тут со стеком проблема или еще в чем-то?
Может
источник

DS

Dmitry Shulga in supapro.cxx
а что указывать на это может? Проблема пока что никак не определяется
источник

ПК

Побитый Кирпич... in supapro.cxx
Посмотри в отладчике чему равен proxy и что под ним лежит
источник

ПК

Побитый Кирпич... in supapro.cxx
Попробуй разыменовать его и прочитать его поля в коде
источник

DK

David Kravets in supapro.cxx
Liber Azerate
Определи программирование и кодинг
Программирование это процесс написания алгоритмов, кодинг это написание кода, программировать можно и без когда и без компа, а кодить нельзя
источник

И

Илья in supapro.cxx
Кому нужны алгоритмы без кода?
источник

ПК

Побитый Кирпич... in supapro.cxx
David Kravets
Программирование это процесс написания алгоритмов, кодинг это написание кода, программировать можно и без когда и без компа, а кодить нельзя
Значит кодинг это программирование + кликание по клавиатуре, то есть кодер круче программиста?
источник

LA

Liber Azerate in supapro.cxx
David Kravets
Программирование это процесс написания алгоритмов, кодинг это написание кода, программировать можно и без когда и без компа, а кодить нельзя
А я-то думал программирование это процесс написания программ...
источник

ПК

Побитый Кирпич... in supapro.cxx
Илья
Кому нужны алгоритмы без кода?
Тем кто пишет код
источник