Тест по С++ для обучения в Nix Solutions
Привет всем! Может тут есть кто-то, кто проходил обучение iOS, или С++ в Nix Solution. Поделитесь, плиз, инфой по поводу тестирования: какого рода были вопросы, на что обратить внимание при подготовке и т.д
Привет всем! Может тут есть кто-то, кто проходил обучение iOS, или С++ в Nix Solution. Поделитесь, плиз, инфой по поводу тестирования: какого рода были вопросы, на что обратить внимание при подготовке и т.д
Привет всем! Может тут есть кто-то, кто проходил обучение iOS, или С++ в Nix Solution. Поделитесь, плиз, инфой по поводу тестирования: какого рода были вопросы, на что обратить внимание при подготовке и т.д
Всім привіт. Будь ласка пройдіть дане опитування, мені потрібна дані для дослідження з предмету теорія ймовірності мат статистика Марковський веде. Я студент КПІ, ФІОТ, кафедра ОТ. Від опитування залежить чи буде допуск до екзамену у мого напарника. Це наше дослідження на + бали
goo.gl/forms/7PLZu5A1ovq1wX973
-
А чего, годные темы. Достаточно Философию С++ Эккеля проштудировать и любое тестирование можно пройти.
За что бить-то? В редких случаях (ещё раз: в редких случаях; я ни в коем случае не утверждаю, что это хорошо и стоит использовать повсеместно) бывает довольно удобно.
Например, сделать класс какого-то вспомогательного scoped объекта, который накапливает данные для осуществления какой-то большой операции, а в своём деструкторе «коммитит» результаты (с возможностью вываливания эксепшена, если что-то пойдёт не так).
В целом вопрос «в каких случаях можно бросить эксепшен из деструктора» может быть довольно уместным.
1) Если деструктор вызвался уже во время раскуртки стека после вылета другого эксепшена — нефиг пытаться что-либо коммитить. На этот случай в стандартной библиотеке предусмотрена функция std::uncaught_exceptions, которую и стоит вызвать в самом начале выполнения этого деструктора. Другой эксепшен был — ничего не делаем, пусть стек раскручивается дальше. Друогого эксепшена не было — пытаемся «коммитить» и запасаемся попкорном на случай, если что-то вылетит непосредственно из процедуры коммита.
2) Такой деструктор должен быть обозначен noexcept(false), ибо по дефолту там стоит обратное (unless деструктор одного из полей класса уже обозначен noexcept(false)).
Не вижу противоречия. В нашем проекте есть один специфический класс с таким деструктором, и вся команда без проблем понимает, что и как он делает.
Не видел такого.
Да и зачем это? Пометки noexcept(false) возле деструктора вполне достаточно, чтобы был понятен тот факт, что из него может вылететь исключение.
Ну, у нас пока потребности искать не было. То ли вы переоцениваете ужасность таких деструкторов, то ли именно на нашем проекте люди такие нетипично внимательные. То ли это просто неважно: вылетел эксепшен и вылетел, значит что-то пошло не так (по не зависящим от этого куска кода обстоятельствам); а откуда именно он вылетел (то ли из явного вызова некой функции, то ли или из деструктора, который что-то «коммитит» автоматически) — в данном контексте роли не играет.
Я б краще порадив Маєрса: www.e-reading.club/book.php?book=1002058
Ці теми і багато інших охоплені, а води набагато менше і більш структуровано.
Страуструп — справочник про всё и вся. Майерс — советы по конкретным моментам языка. Так что в не ироничном контексте Майерс определённо выигрывает.
Страуструп — справочник про всё и вся.
сам Страуструп говорил, что он с++ знает гдето на
Естественно. Если говорить про standardese формулировки. Но они никому не нужны, кроме разработчиков компиляторов, оптимизаторов и прочих таких штук.
А для всех остальных книга Страуструпа будет неплохим справочником. Если кому-то вообще нужны эти справочники, когда есть cppreference.
Ну да, сравнивая книгу Страуструпа с cppreference я чутка утрировал.
Мой поинт был в том, что книги Майерса лучше разжёвывают подводные камни языка: что, как и почему стоит применять в тех или иных обстоятельствах. И на их фоне «The C++ Programming Language» Страуструпа выглядит больше как справочник, чем как учебник.
Если человек вообще не знает C++ и хочет разобраться с нуля, то этот «справочник» будет читаться сравнительно тяжело.
А если уже знает основы (которые можно выучить по любой другой книжке вроде Праты или Дейтелов) — может смело приступать к Майерсу. Конечно, имея cplusplus.com или cppreference под рукой, чтоб находить инфу про отдельные фичи std, которые могли не упоминаться в книге для начинающих.
Каждому своё.
Я в своё время «The C++ Programming Language» Страуструпа пропустил, основы выучил по Прате (подглядывая в референс, если что-то недопонимал), затем приступил к Майерсу и Саттеру. Уже после этого полистал Страуструпа и понял, что ничего особо не пропустил.
Не спорю, что можно было учиться и по нему. Как одна из опций. Но не как какой-то мастхев — в отличие от того же Майерса, которому, на мой взгляд, альтернатив нет.
26 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів