Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / C++ Новый топик    Ответить
Топик располагается на нескольких страницах: 1 2 3 4      [все]
 Как правильно вызвать указатель на функцию с парам строкой?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 6525
Что то не выходит, валится приложение.
И std::string пробовал и char, char *, char[])))))
29 окт 20, 14:06    [22222911]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 51775

Если ничего не помогает, вызывайте так, как описано в заголовке/документации.

Posted via ActualForum NNTP Server 1.5

29 окт 20, 14:08    [22222913]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
Dima T
Member

Откуда:
Сообщений: 15282
Указатель как объявлен?

Если это экспортируемая из DLL функция, то как-то так
typedef int (WINAPI *DECODE) (const char*);
...

DECODE fn_decode = ...;
char* str = ...;
fn_decode(str);
29 окт 20, 14:29    [22222933]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 6525
Dima T,
Спасибо.
Оказалось банальность в высшей степени.
Не успел присваивать в класс поле адрес функции.
В результате там null или мусор....
И главное отладчик пишет
SIGSEGV от операционки.
Ну я и не догадался что там пусто.
....
Работает простой std::string.
Везде его стараюсь.
...
Счас попробую на if nulll проверки добавить.
29 окт 20, 14:35    [22222945]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 6525
Возможно студия показывает более вменяемое сообщение на данный юзкейс чем Qt Creator.
Imho
29 окт 20, 14:42    [22222955]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 51775

PetroNotC Sharp
И главное отладчик пишет
SIGSEGV от операционки.

Так собирать надо с отладочной информацией. Тогда он и место покажет, и call stack.

Posted via ActualForum NNTP Server 1.5

29 окт 20, 14:58    [22222974]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 6525
Dimitry Sibiryakov,
Думаю тут автоматом это режим. Как и в студии.
Кнопа - отладка.
Бряк на вызове функции возле main() из класс поставил.
При входе в метод падение.
Я заметил что в плюсах надо руками инициализировать поля указатели.
If (p) не работает из коробки.
29 окт 20, 15:20    [22222985]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 6525
Адрес при ошибке (мусор) - 0х56
Адрес после
pointerMy = nullptr;
0x0
29 окт 20, 15:27    [22222990]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
Dima T
Member

Откуда:
Сообщений: 15282
PetroNotC Sharp
Я заметил что в плюсах надо руками инициализировать поля указатели.
If (p) не работает из коробки.

Любые указатели надо инициализировать нулем или конкретным значением. Это не C# где автоматом нули по умолчанию.
В С/С++ просто выделяется память под хранение указателя, а значением становится тот мусор, который остался с прошлого использования этой памяти.
29 окт 20, 15:29    [22222991]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 51775

Dima T
Любые указатели надо инициализировать нулем или конкретным значением.

Я даже больше скажу: переменные любого типа надо инициализировать. Причём компилятор имеет
привычку предупреждать об использовании неинициализированных переменных, но кто ж эти
"многа букафф" читает?..

Posted via ActualForum NNTP Server 1.5

29 окт 20, 15:33    [22222996]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 6525
Dima T
PetroNotC Sharp
Я заметил что в плюсах надо руками инициализировать поля указатели.
If (p) не работает из коробки.

Любые указатели надо инициализировать нулем или конкретным значением. Это не C# где автоматом нули по умолчанию.
В С/С++ просто выделяется память под хранение указателя, а значением становится тот мусор, который остался с прошлого использования этой памяти.

Да.
Добавил
public:
   void (*p) (std::string) = nullptr;

А жаль.
Чем продиктовано что не как в шарпе?
29 окт 20, 15:35    [22222997]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 51775

PetroNotC Sharp
Чем продиктовано что не как в шарпе?

Шарп появился как "С++ для дебилов", а не наоборот.

Posted via ActualForum NNTP Server 1.5

29 окт 20, 15:38    [22222998]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 6525
Dimitry Sibiryakov
PetroNotC Sharp
Чем продиктовано что не как в шарпе?

Шарп появился как "С++ для дебилов", а не наоборот.
))))))
29 окт 20, 15:40    [22223000]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
Dima T
Member

Откуда:
Сообщений: 15282
PetroNotC Sharp
Чем продиктовано что не как в шарпе?

Производительностью. Запись нулей - не всегда нужная операция, но процессорное время на нее надо будет тратить всегда.
29 окт 20, 15:43    [22223002]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 6525
Dima T,
Ну, время наверно сопоставимо с инициализацией всего класса?
Я чисто про класс говорю.
Тем кому время критично наверно без классов работают.
29 окт 20, 15:48    [22223008]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 51775

PetroNotC Sharp
Ну, время наверно сопоставимо с инициализацией всего класса?

Ты не поверишь, но у классов тоже нет инициализации кроме явной в конструкторах.

Posted via ActualForum NNTP Server 1.5

29 окт 20, 15:55    [22223015]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
Dima T
Member

Откуда:
Сообщений: 15282
PetroNotC Sharp
Dima T,
Ну, время наверно сопоставимо с инициализацией всего класса?
Я чисто про класс говорю.
Тем кому время критично наверно без классов работают.

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

Вобщем если что-то явно не прописали - С/С++ считает это лишним.
29 окт 20, 15:55    [22223016]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
booby
Member

Откуда:
Сообщений: 2254
Dima T
PetroNotC Sharp
Чем продиктовано что не как в шарпе?

Производительностью. Запись нулей - не всегда нужная операция, но процессорное время на нее надо будет тратить всегда.


строго говоря да, "производительностью".

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

смысл происходящего заключается в создании объекта в частично сформированном состоянии.
Там где заполняют нулями принудительно, считают, что нам таких объектов не нать.
Там, где не заполняют - считают, что это правомерное состояние, а полное состояние сформируется позднее.
В этом смысле, чтение до записи, в языках сорта C, является обыкновенной ошибкой програмиста.
29 окт 20, 15:56    [22223017]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 6525
booby,
Вы намекаете на анализ сего факта что если там мусор значит объект еще не родиля и на 6м месяце?
А как вы проверите что там мусор и объект не полностью готов?
29 окт 20, 16:43    [22223044]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
booby
Member

Откуда:
Сообщений: 2254
PetroNotC Sharp
booby,
Вы намекаете на анализ сего факта что если там мусор значит объект еще не родиля и на 6м месяце?
А как вы проверите что там мусор и объект не полностью готов?

хоть на 36-м.

Зачем нужен объект, и когда должен оказаться полностью сформированным - дело его создателя.

Проверять ничего не надо.

За готовность объекта к использованию на момент его фактического использования,
когда состояние должно оказаться полностью сформированным, никто, кроме создателя, ответственности не несет.
Это просто - хочешь "значения по умолчанию" - просто присвой его, имени себя, как создателя, конкретное умолчание,
путем совмещенния объявления подходящей по типу переменной с конструированием любимого, или потребного в конкретном месте, "умолчания".

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

Как правильные движения лыжного гонщика, велосипедиста или пловца.
Однажды усвоенные движения невозможно вытеснить.
При наступлении усталости новый навык "устаёт", и просыпается первоначальный.
Если ты на шарпах первый навык получал, и "немного устал сегодня", то пальцы твои автоматически начнут рассчитывать на дефолтные привоения.

Просто надо отдохнуть.
29 окт 20, 16:58    [22223060]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 6525
booby,
А я думал что за полезный побочный эффект)))))
Короче, не расслабляйся)
29 окт 20, 17:09    [22223069]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
booby
Member

Откуда:
Сообщений: 2254
PetroNotC Sharp,

а что думаешь, легко было осваивать коньковый ход в лыжах тем, кто всю жизнь бегал классикой...

29 окт 20, 17:12    [22223071]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 6525
booby,
Ну, инициализацию фигурными скобками же добавили)
29 окт 20, 17:23    [22223082]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
booby
Member

Откуда:
Сообщений: 2254
PetroNotC Sharp
booby,
Ну, инициализацию фигурными скобками же добавили)


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

В своих структурах/классах ты можешь рулить конструкторами по умолчанию, представляя себе разумное поведение,
формируя его полностью, или сознательно оставляя часть структуры, а значит - сам объект, в неполностью сформированном состоянии.
В последнем случае - ты либо кодом для "как проверять" это дело снабжаешь, или/и конструкторами,
позволяющими получить полностью сформированный объект.
29 окт 20, 17:42    [22223097]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
Алексей Роза 2020
Member [заблокирован]

Откуда:
Сообщений: 247
Dimitry Sibiryakov
Я даже больше скажу: переменные любого типа надо инициализировать. Причём компилятор имеет привычку предупреждать об использовании неинициализированных переменных, но кто ж эти "многа букафф" читает?..

в C++ же конструкторы этим занимаются, которых не было в C.
И они же гарантируют, что не будет мусора.
Классы в C++ сделаны для увеличения автоматизма и уменьшения ошибок.
А вот так зачем в C++ писать непонятно:
PetroNotC Sharp
public:
   void (*p) (std::string) = nullptr;

это же "naked pointer", который "НЕЛЬЗЯ"
29 окт 20, 17:59    [22223103]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 51775

Алексей Роза 2020
в C++ же конструкторы этим занимаются, которых не было в C.
И они же гарантируют, что не будет мусора.

Занимаются если они написаны. Гарантируют они ровно то, что в них написано.

Posted via ActualForum NNTP Server 1.5

29 окт 20, 18:04    [22223107]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
Dima T
Member

Откуда:
Сообщений: 15282
PetroNotC Sharp
А как вы проверите что там мусор и объект не полностью готов?

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

Вот так сложилось в С++ что по умолчанию это инициализация мусором и менять это в стандарте вряд ли кто захочет.
29 окт 20, 18:07    [22223108]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
booby
Member

Откуда:
Сообщений: 2254
Dima T
... ООП гласит что объект сразу должен быть инициализирован...

вообще говоря, ничего близко подобного "ООП" гласить не может.
И особенно, с учетом того, что понятие "состояние" в ООП относится, главным образом, к скрытой,
снаружи не видимой части состояния объекта там, где это "про ООП".

Но нечто подобное, действительно, гласят, некоторые интертрепаторы ООП и изобретатели "самых безопасных в мире языков".

Dima T

Вот так сложилось в С++ что по умолчанию это инициализация мусором и менять это в стандарте вряд ли кто захочет.

Думаю, что это исключено.
По крайней мере, при жизни Страуструпа.
Он, конечно, раб комитета, но не настолько, чтобы не суметь ему противостоять в принципиальных вопросах.

Сообщение было отредактировано: 29 окт 20, 18:10
29 окт 20, 18:13    [22223116]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 6525
Алексей Роза 2020
это же "naked pointer", который "НЕЛЬЗЯ"
не понял что это нельзя? Работает ведь.
29 окт 20, 18:37    [22223133]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 6525
booby,
Мы выше выяснили, что полуобъект никакого смысла не имеет кроме скорости.
Что не подтверждено кодом профи).
Ну и в бизнес объектах добавляют флаг или перечислимое о том что он "сформирован"
29 окт 20, 18:41    [22223134]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
booby
Member

Откуда:
Сообщений: 2254
PetroNotC Sharp
...
Ну и в бизнес объектах добавляют флаг или перечислимое о том что он "сформирован"

это просто чепуха.
"добавляют", но почти всегда не от большого ума.

PetroNotC Sharp
booby,
Мы выше выяснили, что полуобъект никакого смысла не имеет кроме скорости.
...

Похоже, вы не вполне поняли о чем идет речь.
Забудьте про скорость.

Те, кто считает, что вопрос только в скорости, автоматически влепляют в систему типов дефолтную инициализацию до полного состояния.
Но, оказывается, в содержательных случаях, это левое движение, которое ни к чему не приближает.
Здесь за вас просто не делают левого движения.
Попробуйте испытать гордость.

Сообщение было отредактировано: 29 окт 20, 18:51
29 окт 20, 18:53    [22223141]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
Алексей Роза 2020
Member [заблокирован]

Откуда:
Сообщений: 247
PetroNotC Sharp
Алексей Роза 2020
это же "naked pointer", который "НЕЛЬЗЯ"
не понял что это нельзя? Работает ведь.

Страуструп против:
NO naked pointers (Страуструп):
a) keep them inside functions and classes; (тут имеется ввиду, что в классах будут RAII и прочие shared-ptrs)
b) keep arrays out of interfaces (prefer containers);
c) pointers are implementation-level artifacts;
d) a pointer in a function should not represent ownership;
e) always consider std::unique_ptr AND sometimes std::shared_ptr;

// правила Herb Sutter:
1. prefer to allocate heap objects using make_unique/make_shared or containers.
2. otherwise, use owner<> for source/layout compatibility with old code.
Each non-null owner<> must be deleted exactly once, or moved.
3. Never dereference a null or invalid Pointer.
4. Never allow an invalid Pointer to escape a function.

Dimitry Sibiryakov
Алексей Роза 2020
в C++ же конструкторы этим занимаются, которых не было в C.
И они же гарантируют, что не будет мусора.

Занимаются если они написаны. Гарантируют они ровно то, что в них написано.

мы же про C/C++ говорим, зачем повторять очевидное? C/C++ написаны так, что там ВСЁ зависит от программиста.
Но тысячи Core Guidelines как бэ намекают, что таки есть некие правила.

Сообщение было отредактировано: 29 окт 20, 18:59
29 окт 20, 19:03    [22223146]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 6525
booby,
ОК, про скорость забыл.
Главное не забыть инициализировать).
Тут ведь третичная логика)). Да/нет/мусор
))
Уже второй раз натыкаюсь на грабли.
И IDE тоже нифига не помогает....в 21 веке.
Повешу красный плакат перед носом))
29 окт 20, 19:06    [22223147]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
Dima T
Member

Откуда:
Сообщений: 15282
PetroNotC Sharp
Алексей Роза 2020
это же "naked pointer", который "НЕЛЬЗЯ"
не понял что это нельзя? Работает ведь.

Скажем так: не рекомендуется использовать. Можно потому что указатель под капотом тех же умных указателей и прочих классов STL.
Указатели даже для С++ это рудимент унаследованный из С, в С++ изначально ввели ссылки чтобы хоть как-то проблемы с указателями сгладить, но указатели оставили.
29 окт 20, 19:12    [22223149]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
booby
Member

Откуда:
Сообщений: 2254
PetroNotC Sharp
...
Тут ведь третичная логика)). Да/нет/мусор
...

Здесь вы совершаете критическую ошибку.

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

Нет никакого Да/нет/мусор

Есть Да/нет/[неопределенное поведение], иначе см. на закон исключения третьего в п.1.
Задача "безопасных" языков свести это к Да/нет.

Вот и вся история.

Сообщение было отредактировано: 29 окт 20, 19:10
29 окт 20, 19:13    [22223150]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
Dima T
Member

Откуда:
Сообщений: 15282
PetroNotC Sharp
И IDE тоже нифига не помогает....в 21 веке.
Повешу красный плакат перед носом))

Помогает, но ненавязчиво
Dimitry Sibiryakov

Причём компилятор имеет привычку предупреждать об использовании неинициализированных переменных, но кто ж эти "многа букафф" читает?..
29 окт 20, 19:14    [22223151]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
booby
Member

Откуда:
Сообщений: 2254
мусор, не мусор - вот почему у меня время редактирования сообщения меньше времени его создания.
Вот это настоящий вопрос/
29 окт 20, 19:16    [22223152]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 6525
Алексей Роза 2020,
А если у меня указатель просто переход на функцию глобальную в модуле main?

myFunction() {
`````
} 

main(....
.... 
Class A a
a.pointerFunc = myFunction;

Никакие addref, release делать не нужно.
29 окт 20, 19:18    [22223153]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
Dima T
Member

Откуда:
Сообщений: 15282
booby
мусор, не мусор - вот почему у меня время редактирования сообщения меньше времени его создания.
Вот это настоящий вопрос/

Багофича sql.ru, ты не первый заметил 22208645
29 окт 20, 19:21    [22223154]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 51775

Dima T
Помогает, но ненавязчиво

Поэтому лично я связкой "-Wall -Wextra -Werror" превращаю это в "навязчиво". И со времени,
когда я начал так делать, количество багрепов резко уменьшилось.

Posted via ActualForum NNTP Server 1.5

29 окт 20, 19:33    [22223158]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 6525
Dimitry Sibiryakov,
Мы не путаем варнинг Переменная не используется в коде и просто нарушена очередность вызова. Вызвано до инициализации.
Завтра проверю что она там мяукает.
29 окт 20, 19:46    [22223165]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 51775

Хотя да, неинициализированные поля объектов оно не обнаруживает, к сожалению. Только
локальные переменные.

Posted via ActualForum NNTP Server 1.5

29 окт 20, 19:48    [22223169]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 6525
Dimitry Sibiryakov,
Да. И это жаль.
В методах оно задолбало так как всегда прототип пишешь, и только после цепляешь все параметры в бизнес логику кода.
29 окт 20, 19:56    [22223171]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
Dima T
Member

Откуда:
Сообщений: 15282
Мы тут долго обсуждаем почему не ноли, а можно что-то добавить чтобы в своем проекте сделать инициализацию нолями? Просто сделать для себя как хочется, а не как принято.

Глобально оператор new можно перегрузить и там прописать, а как быть с тем что на стэке размещается, типа
main(....
.... 
Class A a;
29 окт 20, 20:00    [22223174]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 6525
Как тут говорят - класс(структура) это святое! Не трожь и не посыпай никаким синтаксическим сахаром! (с) Страуструп.
29 окт 20, 20:00    [22223175]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 6525
Dima T,
Я в Qt пишу. И там new практически не используется.
Достаточно редко.
Вот такие пироги.
29 окт 20, 20:02    [22223177]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
mayton
Member

Откуда: loopback
Сообщений: 49762
Dima T,

Да давно уже пора сделать. А кто хочет перформанса дать опции наподобие DEBUG, пускай он эту механику выключит там где ему сильно нужно.

Но я сомневаюсь что в мире ООП кто-то сильно оптимизирует создание объектов.
29 окт 20, 20:26    [22223192]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
Dima T
Member

Откуда:
Сообщений: 15282
PetroNotC Sharp
Dima T,
Я в Qt пишу. И там new практически не используется.
Достаточно редко.
Вот такие пироги.

Да, new это тоже опасный оператор, утечки памяти будут если накосячишь, поэтому используются обертки.
Может ошибаюсь, с Qt незнаком, но без new в куче объект не разместить, а с объектами на стэке тоже далеко не уедешь. Подозреваю что new там есть глубоко закопанное, другой вопрос можно ли туда докопать.
29 окт 20, 20:41    [22223202]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
mayton
Member

Откуда: loopback
Сообщений: 49762
Скорее здесь стек играет роль презерватива.
29 окт 20, 20:59    [22223213]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
booby
Member

Откуда:
Сообщений: 2254
Dima T
Мы тут долго обсуждаем почему не ноли, а можно что-то добавить чтобы в своем проекте сделать инициализацию нолями? Просто сделать для себя как хочется, а не как принято.

Глобально оператор new можно перегрузить и там прописать, а как быть с тем что на стэке размещается, типа
main(....
.... 
Class A a;

как-то странно сам вопрос выглядит (вроде фигурные скобки уже были в топике).

вообще-то это "инициализацией" называют.
Вот рассказ как раз для фигурных скобок, например:
https://habr.com/ru/post/436296/

А вообще, если именно "на стеке" хочется, то вроде как в C++ больше принято для такого хотения дело со Struct иметь, не?

вот тут еще много букв с мультфильмами и перечислением 18 валидных способов инициализации целого
(из которых первый - как раз не полностью сформированный объект).
https://habr.com/ru/company/jugru/blog/469465/
30 окт 20, 00:58    [22223303]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
mayton
Member

Откуда: loopback
Сообщений: 49762
Вот хорошее дефолтное поведение для компиллятора.

int i = {};


Для всех диких переменных сделали бы так. Убудет штоли? Или лишние такты процессора жалко?
Что там этот лысый дядечка? Держится за старое? Компатибилити?
30 окт 20, 01:10    [22223307]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
booby
Member

Откуда:
Сообщений: 2254
mayton,

а почему тебя ломает написать это своими ручками?
Без этого слово "вечность" не соберется, так и поедешь к Герде цветы поливать.

30 окт 20, 01:20    [22223313]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
Алексей Роза 2020
Member [заблокирован]

Откуда:
Сообщений: 247
PetroNotC Sharp
Алексей Роза 2020,
А если у меня указатель просто переход на функцию глобальную в модуле main?

myFunction() {
`````
} 

main(....
.... 
Class A a
a.pointerFunc = myFunction;


Никакие addref, release делать не нужно.

Хм, а чё это у вас ф-я в глобале, а не в наследуемом классе, м?
Тогда бы и указатель не нужен был.
Надо просто за правило взять, что указатели в C++ - это плохо.
вот, тоже правильно пишет:
Dima T
Скажем так: не рекомендуется использовать. Можно потому что указатель под капотом тех же умных указателей и прочих классов STL.
Указатели даже для С++ это рудимент унаследованный из С, в С++ изначально ввели ссылки чтобы хоть как-то проблемы с указателями сгладить, но указатели оставили.


Сообщение было отредактировано: 30 окт 20, 01:36
30 окт 20, 01:38    [22223316]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
mayton
Member

Откуда: loopback
Сообщений: 49762
Я не про это. Я говорю что делать с наследием? С тысячами исходников которые уже написаны
так

int i;


и наследуют поведение кота Шрёдингера.
30 окт 20, 01:38    [22223317]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
booby
Member

Откуда:
Сообщений: 2254
mayton,
если без смеха, то моему глазу милее инициализация с круглыми скобками - int i3(42);
просто потому, что по смыслу письма, эта форма означает вызов параметризованного конструктора.
Что в меня гораздо проще въезжает.
30 окт 20, 01:39    [22223318]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
booby
Member

Откуда:
Сообщений: 2254
mayton
Я не про это. Я говорю что делать с наследием? С тысячами исходников которые уже написаны
так

int i;


и наследуют поведение кота Шрёдингера.

Для богов это не имеет значения.
Кот Шредингера, как и Чеширский - часть мира.
Отражающая факт присутствия в мире неопределенного поведения по вине богов
30 окт 20, 01:42    [22223319]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
Алексей Роза 2020
Member [заблокирован]

Откуда:
Сообщений: 247
int i3 = 43; // уже совершенно НЕпонятно, чё тут происходит
30 окт 20, 01:42    [22223320]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
booby
Member

Откуда:
Сообщений: 2254
Алексей Роза 2020
int i3 = 43; // уже совершенно НЕпонятно, чё тут происходит

Это правда, хороший вопрос.
По сути вопрос о том, как правильно писать свой operator=
И как он связан с copy-constructor, move и swap.

Конечно, хорошо было бы, чтобы в этом месте о вкусе устриц высказались те, кто их ел.
:)
30 окт 20, 02:58    [22223330]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 6525
Алексей Роза 2020,
Сам не хотел такую архитектуру, да либа заставила.
Если ее первой не воткнуть до всего всего кода то не компилируется.
Я так понял, что конфликты с заголовками Qt.
Чей вперед заголовок тот и побеждает.
Не знаю как решить, а так работает.
30 окт 20, 07:40    [22223346]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 6525
PetroNotC Sharp
Алексей Роза 2020,
Сам не хотел такую архитектуру, да либа заставила.
Если ее первой не воткнуть до всего всего кода то не компилируется.
Я так понял, что конфликты с заголовками Qt.
Чей вперед заголовок тот и побеждает.
Не знаю как решить, а так работает.

Вот похожая проблема с другой либой
автор
Я обнаружил, что с OpenCV 3 замена порядка заголовков включает так, чтобы opencv2 / opencv.hpp был включен до того, как какие-либо заголовки Какао также позволяют избежать ошибки компилятора. - MoDJ 31 дек.
Была такая же проблема с разными комбинациями заголовков. - JE42 06 июля '16 в 13:45
Использование #undef checkперед включением opencv.hppможет устранить ошибку. Это полезно в смешанной среде Swift / obj-C, где вы не всегда можете перетасовать порядок включения. - acj 24 августа '16 в 14:07

https://stackoverflow.com/questions/31665095/xcode-error-compiling-c-expected-member-name-or-after-declaration-specifie
30 окт 20, 07:57    [22223349]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
Dima T
Member

Откуда:
Сообщений: 15282
booby
Dima T
Мы тут долго обсуждаем почему не ноли, а можно что-то добавить чтобы в своем проекте сделать инициализацию нолями? Просто сделать для себя как хочется, а не как принято.

как-то странно сам вопрос выглядит (вроде фигурные скобки уже были в топике).

Про скобки и прочие способы явной инициализации понятно. Стек пока тоже оставим в стороне.

Зачем? Чтобы меньше косячить тем кто не привык писать на С++, например ТСу, привыкшему в C# что по-умолчанию ноль.

Допустим производительность некритична, и просто хочется перегрузить оператор new так
void *operator new(size_t size) {
    //void *p = malloc(size);
    void *p = calloc(size, 1);
    if (p == NULL) {
        throw std::bad_alloc();
    }
    return p;
}

Также прочие виды new по аналогии.

Но поможет ли это ему если он использует Qt ?
30 окт 20, 08:15    [22223355]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 6525
Dima T,
А что? Это инициализирует все все поля в классе?
И дату и строку и числа и....
30 окт 20, 08:36    [22223357]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
Dima T
Member

Откуда:
Сообщений: 15282
PetroNotC Sharp
Dima T,
А что? Это инициализирует все все поля в классе?
И дату и строку и числа и....

Да. Это выделение памяти под объект, т.е. под все его поля. http://www.amse.ru/courses/cpp2/2011_03_21.html
Штатно malloc() дает кусок памяти с мусором, замена на calloc() приведет к тому что мусор заменится на нули.
Далее там где явно инициализация прописана - проинициализируется согласно прописанному, что не прописано - останется с нулями.

Вот только я не уверен что Qt будет вызывать этот перегруженный new.
30 окт 20, 08:45    [22223358]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
Dima T
Member

Откуда:
Сообщений: 15282
Тут еще такой момент: если Qt использует свой перегруженный new, то если мы его подменим - он не будет вызываться.
Вот еще статья про перегрузку https://habr.com/ru/post/490640/

PS Я перегрузкой не пользуюсь, поэтому только в теории про нее знаю.
30 окт 20, 08:57    [22223363]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 6525
Dima T,
Имхо для Qt оверхед
30 окт 20, 09:28    [22223375]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 6525
Del

Сообщение было отредактировано: 30 окт 20, 09:24
30 окт 20, 09:28    [22223376]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 10760
PetroNotC Sharp
Имхо для Qt оверхед
Вы уже определитесь - или вам инициализированные объекты или "оверхед".
30 окт 20, 10:50    [22223429]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 6525
Basil A. Sidorov
PetroNotC Sharp
Имхо для Qt оверхед
Вы уже определитесь - или вам инициализированные объекты или "оверхед".

Я давно определился.
Оверхед обозначает "компромисс МЕЖДУ правильностью и затратами на это".
Так как инициализация без new, то определитесь что вы лично предлагаете.
30 окт 20, 11:29    [22223447]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
booby
Member

Откуда:
Сообщений: 2254
Алексей Роза 2020
...
Хм, а чё это у вас ф-я в глобале, а не в наследуемом классе, м?
...

Рискну переформулировать эту идею и изложить её в императивной форме:

Нигде не используй классы QT в своем коде напрямую.

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

А уж там наследование окажется или агрегация внутри - дело вторичное по отношению с сплошному
растягиванию по коду зависимостей от QT, непрерывных проблем инициализации и порождению
проклятия перехода на "новую версию чужой библиотеки".

это же очевидное дело - взялся взаимодействовать с чужой библиотекой - сначала отгородись от неё забором.
Взаимодействуй с чужой библиотекой только через управляемые тобой окошки и дверки.
Тогда то, что происходит позадь забора, не будет тревожить твой собственный огород, кроме, может быть,
вопроса о выборе цвета краски для любимого забора.
30 окт 20, 12:04    [22223465]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
mayton
Member

Откуда: loopback
Сообщений: 49762
booby
mayton,
если без смеха, то моему глазу милее инициализация с круглыми скобками - int i3(42);
просто потому, что по смыслу письма, эта форма означает вызов параметризованного конструктора.
Что в меня гораздо проще въезжает.


Вы согласны писать на 1 символ больше? Всегда? И просто из чувства прекрасного?
Из осознания того что работает конструктор?
30 окт 20, 12:06    [22223467]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
booby
Member

Откуда:
Сообщений: 2254
mayton,

:))
обычно я согласен писать то, что сам способен прочитать без затруднений.
30 окт 20, 12:10    [22223468]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 6525
booby,
-1
Qt это не просто либа. Это фреймворк-платформа. Она диктует архитектуру. Как хибер в java или спринг.
То есть наоборот.
Везде используй QtObject QString а не std::string и т.д.
Если буст, то там свои законы.
30 окт 20, 12:10    [22223469]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
Dima T
Member

Откуда:
Сообщений: 15282
PetroNotC Sharp
Basil A. Sidorov
пропущено...
Вы уже определитесь - или вам инициализированные объекты или "оверхед".

Я давно определился.
Оверхед обозначает "компромисс МЕЖДУ правильностью и затратами на это".
Так как инициализация без new, то определитесь что вы лично предлагаете.

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

Я ссылки давал, мог бы почитать
http://www.amse.ru/courses/cpp2/2011_03_21.html
Переменная объектного типа в динамической памяти создаётся в два этапа:
1. Выделяется память с помощью оператора new.
2. Вызывается конструктор класса.

Без п.1 просто негде будет объект создавать, п.2 по мере необходимости, т.е. только то что явно в коде задано.
30 окт 20, 12:12    [22223471]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
booby
Member

Откуда:
Сообщений: 2254
PetroNotC Sharp,

как скажешь...
30 окт 20, 12:16    [22223472]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 6525
Dima T,
Я тоже тебе дал псевдокод
myFunction() {
`````
}

main(....
....
Class A a
a.pointerFunc = myFunction;

Где перегрузить new и поможет ли это коду выше?
30 окт 20, 12:28    [22223485]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
Dima T
Member

Откуда:
Сообщений: 15282
PetroNotC Sharp
Class A a

Это на стеке создается, без new, тут похоже никак не влезть в выделение памяти.
30 окт 20, 13:00    [22223505]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 6525
Dima T
PetroNotC Sharp
Class A a


Это на стеке создается, без new, тут похоже никак не влезть в выделение памяти.
ну, а говоришь что я не понял.
Все я понял.
Для моего случая оверхед и риски (что вообще не сработает).
Для других каких проектов может и супер.
30 окт 20, 13:10    [22223512]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
mayton
Member

Откуда: loopback
Сообщений: 49762
А сколько стека у нас есть в дефолтном Windows/Linux процессе?
30 окт 20, 13:14    [22223516]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
Dima T
Member

Откуда:
Сообщений: 15282
mayton
А сколько стека у нас есть в дефолтном Windows/Linux процессе?

Виндавс 1 Мб, линукс вроде так же.
30 окт 20, 13:15    [22223518]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 51775

PetroNotC Sharp
Оверхед обозначает "компромисс МЕЖДУ правильностью и затратами на это".

Какое странное, необычное определение оверхэда. Тебе следует его запатентовать. Никто ещё
не додумался употреблять это слово в качестве синонима для "trade-off".

Posted via ActualForum NNTP Server 1.5

30 окт 20, 13:46    [22223533]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
Алексей Роза 2020
Member [заблокирован]

Откуда:
Сообщений: 247
Dima T
PS Я перегрузкой не пользуюсь, поэтому только в теории про нее знаю.

в ++20 шаблоны, которые заменили перегрузку, заменяются на concept
автор
Stroustrup: overloading is a basis of generic programming. Fundamental to C++ generic programming.
Overloading like functions, but much simpler.
30 окт 20, 15:15    [22223589]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
Алексей Роза 2020
Member [заблокирован]

Откуда:
Сообщений: 247
booby
Алексей Роза 2020
...
Хм, а чё это у вас ф-я в глобале, а не в наследуемом классе, м?
...

Рискну переформулировать эту идею и изложить её в императивной форме:

Нигде не используй классы QT в своем коде напрямую.

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

А уж там наследование окажется или агрегация внутри - дело вторичное по отношению с сплошному
растягиванию по коду зависимостей от QT, непрерывных проблем инициализации и порождению
проклятия перехода на "новую версию чужой библиотеки".

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

да от QT вообще подальше надо держаться.
30 окт 20, 15:17    [22223592]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 6525
Dimitry Sibiryakov
PetroNotC Sharp
Оверхед обозначает "компромисс МЕЖДУ правильностью и затратами на это".

Какое странное, необычное определение оверхэда. Тебе следует его запатентовать. Никто ещё
не додумался употреблять это слово в качестве синонима для "trade-off".
"критикуя предлагай!" (с) сам знаешь кто это сказал))))
30 окт 20, 15:24    [22223602]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 6525
Алексей Роза 2020
да от QT вообще подальше надо держаться.
ты смайлик забыл
30 окт 20, 15:25    [22223604]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 51775

PetroNotC Sharp
"критикуя предлагай!"

Предлагаю почитать словарь чтобы быть в курсе значения терминов, которые пытаешься
использовать:
https://en.wikipedia.org/wiki/Overhead_(computing)

Posted via ActualForum NNTP Server 1.5

30 окт 20, 15:34    [22223612]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
mayton
Member

Откуда: loopback
Сообщений: 49762
Dima T
mayton
А сколько стека у нас есть в дефолтном Windows/Linux процессе?

Виндавс 1 Мб, линукс вроде так же.

Почитал. В Линуксе вроде 8 Мб. Конфигурируется в /etc/profiles для пользователей
через

$ ulimit -s ...


Из рекомендаций. Подбирают под тип использования операционки и исходя из максимального
количества работающих threads.
30 окт 20, 15:42    [22223620]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 6525
Dimitry Sibiryakov
PetroNotC Sharp
"критикуя предлагай!"

Предлагаю почитать словарь чтобы быть в курсе значения терминов, которые пытаешься
использовать:
https://en.wikipedia.org/wiki/Overhead_(computing)
то есть ты зубрить умеешь, а своими словами нет?
Бывает, человек читает и сути не понимает.
30 окт 20, 15:45    [22223622]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 51775

PetroNotC Sharp
то есть ты зубрить умеешь, а своими словами нет?

Со "своими словами" опять же есть риск, что твоё собственное понимание термина расходится
с действительным.

PetroNotC Sharp
Бывает, человек читает и сути не понимает.

Ок, в таком случае упрощённая версия: оверхэд это что-то, совершенно ненужное для
выполнения основной задачи.

От него все пытаются избавиться и терпят только если не получилось или цена такого
избавления слишком высока.

Posted via ActualForum NNTP Server 1.5

30 окт 20, 15:51    [22223626]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 6525
Dimitry Sibiryakov
Со "своими словами" опять же есть риск, что твоё собственное понимание термина расходится
с действительным.
ну дак для этого форум и есть. Чтобы уточнять, опровергать, аргументировать, мыслить.
А так, твоё слово фи против моего фи.

Dimitry Sibiryakov
Ок, в таком случае упрощённая версия: оверхэд это что-то, совершенно ненужное для
выполнения основной задачи.

-1 совершенно ненужное это не оверхед)))
30 окт 20, 16:03    [22223637]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно вызвать указатель на функцию с парам строкой?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 6525
Dimitry Sibiryakov
основной задачи.
не основной, а единственной. Не вводи доп задачи как новые сущности.
30 окт 20, 16:05    [22223638]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: 1 2 3 4      [все]
Все форумы / C++ Ответить