Size: a a a

2021 February 25

YB

YEgor Briz in supapro.cxx
Понял, спасибо
источник

IZ

Ilia Zviagin in supapro.cxx
YEgor Briz
Всем привет. Я могу использовать два типа переменных в for? как-нибуть так: for(int i = 0, char *r = c; *r, r++, i++)?
Там по синтаксису только одно объявление переменной допустимо,
поэтому вторую переменную надо объявить ДО цикла, если нужно, цикл при этом надо поместить в отдельный блок {} (вместе с переменной), для ограничения видимости переменной
источник

AB

Artöm Bakri Al-Sarmi... in supapro.cxx
YEgor Briz
Всем привет. Я могу использовать два типа переменных в for? как-нибуть так: for(int i = 0, char *r = c; *r, r++, i++)?
for (auto [i, r] = std::make_pair(0, c); ...)
источник

АД

А Му Де in supapro.cxx
Если я кидаю исключение наследование от std::exception и вывожу его what(), то выводимая строка обязательно должна быть типа const char*?
источник

DP

Denis Paukaev in supapro.cxx
А Му Де
Если я кидаю исключение наследование от std::exception и вывожу его what(), то выводимая строка обязательно должна быть типа const char*?
посмотри объявление what в базовом классе
источник

AB

Artöm Bakri Al-Sarmi... in supapro.cxx
А Му Де
Если я кидаю исключение наследование от std::exception и вывожу его what(), то выводимая строка обязательно должна быть типа const char*?
Да
источник

АД

А Му Де in supapro.cxx
Denis Paukaev
посмотри объявление what в базовом классе
Там-то const char*, просто мне стало интересно, можно ли это как-то безболезнено заменить на std::string
источник

DP

Denis Paukaev in supapro.cxx
ну если там const char* то как ты заменишь?
источник

DP

Denis Paukaev in supapro.cxx
сделай свой BaseException, и в нём можешь сделать свой любой ToString() с любой сигнатурой
источник

AB

Artöm Bakri Al-Sarmi... in supapro.cxx
А Му Де
Там-то const char*, просто мне стало интересно, можно ли это как-то безболезнено заменить на std::string
Зачем?
источник

AB

Artöm Bakri Al-Sarmi... in supapro.cxx
Denis Paukaev
сделай свой BaseException, и в нём можешь сделать свой любой ToString() с любой сигнатурой
+
источник

АД

А Му Де in supapro.cxx
Просто так, стало интересно
источник

АД

А Му Де in supapro.cxx
У меня теперь другой вопрос, как писать код с обработкой исключений? Я же не знаю какой кусок кода какое исключение может кинуть
источник

AB

Artöm Bakri Al-Sarmi... in supapro.cxx
Почему не знаешь?
источник

АД

А Му Де in supapro.cxx
Когда я сам пишу свои классы со своими исключениями всё понятно, а когда какая-нибудь стандартная штука кидает эксепшен?
источник

MK

Mikhail Kalugin in supapro.cxx
А Му Де
Когда я сам пишу свои классы со своими исключениями всё понятно, а когда какая-нибудь стандартная штука кидает эксепшен?
Читать в доке странной штуки что она может выкинуть, только так. Ну или ее код смотреть
источник

MK

Mikhail Kalugin in supapro.cxx
Ну и еще есть контролируемое «все пропало» catch(...)
источник

D

Danya in supapro.cxx
Ilia Zviagin
Там по синтаксису только одно объявление переменной допустимо,
поэтому вторую переменную надо объявить ДО цикла, если нужно, цикл при этом надо поместить в отдельный блок {} (вместе с переменной), для ограничения видимости переменной
for (int i{}, j{}; ...
Так тоже можно
источник

AB

Artöm Bakri Al-Sarmi... in supapro.cxx
Danya
for (int i{}, j{}; ...
Так тоже можно
Это если тип один
источник

АД

А Му Де in supapro.cxx
Mikhail Kalugin
Ну и еще есть контролируемое «все пропало» catch(...)
Я слышал что это плохая практика
источник