Size: a a a

2020 August 19

SN

Syrovatnikov Nikita in supapro.cxx
Спасибо огромное, все работает!
А можно еще раз объяснить зачем предавать аргументы по значению в callInMainContext, обязательно ли копировать тут?
источник

SN

Syrovatnikov Nikita in supapro.cxx
Переслано от Александр Караев...
аргументы, переданные по значению, будут смуваны в pair, ничего не умрёт раньше времени
источник

SN

Syrovatnikov Nikita in supapro.cxx
Переслано от Александр Караев...
и да, в том контексте Callable&& - это не rvalue reference, а forwarding reference
источник

SN

Syrovatnikov Nikita in supapro.cxx
Или где почитать, пару тегов накинуть
источник

АК

Александр Караев... in supapro.cxx
Syrovatnikov Nikita
Спасибо огромное, все работает!
А можно еще раз объяснить зачем предавать аргументы по значению в callInMainContext, обязательно ли копировать тут?
да не будет там копирования, будут исключительно перемещения
копироваться будут только те объекты, владение у которых не получится забрать
источник

IZ

Ilia Zviagin in supapro.cxx
Ternvein
Это не юзкейс, это собственно эффект этого слова. Юзкейс — отключение оптимизаций записи в объект.
И ЧТЕНИЯ!
источник

ПК

Побитый Кирпич... in supapro.cxx
Maksim
Знаете как. Например, есть строка str = "474774". Надо именно проверить есть ли в такой строке другие числа, кроме 4 и 7.
Врёшь, всё подходит
источник

IZ

Ilia Zviagin in supapro.cxx
Syrovatnikov Nikita
Получаю лютую хрень в виде  nullptr вместо callable при попытке его скопривать. Я пытаюсь запихнуть аргументы в std::tuple. В pair запихиваю callable и tuple. Причем pair аллоцирую на куче.
Как к этому относится твой исходный вопрос?
как std::thread сохраняет аргументы переданные в конструктор? Интересует с точки зрения реализации
источник

IZ

Ilia Zviagin in supapro.cxx
Liber Azerate
Нет, это юзабельная вещь, просто в особых случаях. Так сказать, ответный вопрос: когда ты в последний раз пользовался битовыми полями?
Месяц назад...
источник

LA

Liber Azerate in supapro.cxx
Ilia Zviagin
Месяц назад...
А волатайл? :)
источник

IZ

Ilia Zviagin in supapro.cxx
Liber Azerate
А волатайл? :)
Никогда
источник

IZ

Ilia Zviagin in supapro.cxx
Syrovatnikov Nikita
Спасибо огромное, все работает!
А можно еще раз объяснить зачем предавать аргументы по значению в callInMainContext, обязательно ли копировать тут?
А я не понял, за что спасибо и что работает?
источник

SN

Syrovatnikov Nikita in supapro.cxx
Я хотел узнать как работает std::thread для того чтобы сделать также(моя задача очень похожа на то что делается при запуске std::thread) . Спасибо за разъяснения)
источник

v

vendent in supapro.cxx
Ребят, в цикле for это конвертация из char в int? std::string a;
 a = "3+2+1";
 std::vector<int> b;

 for (int i = 0; i < a.size(); i += 2) {
   b.push_back(a[i] - 48);
 }
источник

LA

Liber Azerate in supapro.cxx
vendent
Ребят, в цикле for это конвертация из char в int? std::string a;
 a = "3+2+1";
 std::vector<int> b;

 for (int i = 0; i < a.size(); i += 2) {
   b.push_back(a[i] - 48);
 }
Это разница между кодом символа и кодом нуля. Работает разве что для цифр нормально
источник

v

vendent in supapro.cxx
Liber Azerate
Это разница между кодом символа и кодом нуля. Работает разве что для цифр нормально
Понял, спасибо. Мне для цифр и нужно
источник

AU

Abu Umar in supapro.cxx
Доброго вечера товарищи, почему
постфиксы и суффиксы по разному работают на разных типах? Например для int постфикс и суффикс работают одинаково в простом случае а в случае char постфикс выполняет копирование.  Или это компилятор оптимизирует для инта просто?
источник

LA

Liber Azerate in supapro.cxx
Abu Umar
Доброго вечера товарищи, почему
постфиксы и суффиксы по разному работают на разных типах? Например для int постфикс и суффикс работают одинаково в простом случае а в случае char постфикс выполняет копирование.  Или это компилятор оптимизирует для инта просто?
Что?
источник

AU

Abu Umar in supapro.cxx
int a;
a++; // без копирования
++a; // без копирования
char b;
b++; // без копирования
++b; // копирования, инкремент, копирования
источник

LA

Liber Azerate in supapro.cxx
Abu Umar
int a;
a++; // без копирования
++a; // без копирования
char b;
b++; // без копирования
++b; // копирования, инкремент, копирования
Вообще нет. Постфиксная инкрементация принципиально делает копию и возвращает её. Компиляторная оптимизация наличествует всегда
источник