170 похожих чатов

Лямбдой получается можно заменить только статические методы ? class LambdaClass {

public:
LambdaClass() = default;
static constexpr int m_member = 10;
static constexpr auto lam = [] {
std::cout << "lambda";
return m_member;
};
};

15 ответов

23 просмотра

Зачем?

Нет

Aleksei-Budyakov Автор вопроса
Ilya Zviagin
Нет

Иначе не компилится

Не нужно

Aleksei-Budyakov Автор вопроса
Danya🔥
Зачем?

Да изначально была идея создания функций с явным указанием используемых полей

Aleksei-Budyakov Автор вопроса
Danya🔥
Чиво

Да видимо оно так не работает..

Aleksei Budyakov
Иначе не компилится

Ну, если у тебя не компилица, это же не значит, что нельзя.

Aleksei-Budyakov Автор вопроса
Danya🔥
Чиво

Ну вроде создаешь лямбду и явно указываешь в захвате какие поля класса будут использоваться

Aleksei-Budyakov Автор вопроса
Danya🔥
И зачем это?

Чтобы сразу было видно что из класса может измениться

Aleksei Budyakov
Чтобы сразу было видно что из класса может изменит...

Это как если бы вместо вызова метода через THIS явно передавать по ссылке каждый из изменяемых членов класса... Ну , можно конечно, но зачем?

Aleksei Budyakov
Чтобы сразу было видно что из класса может изменит...

Это не должно быть проблемой в нормальном дизайне класса

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Ребят в СИ можно реализовать ООП?
Николай
33
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
2
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Карта сайта