Я думал там ссылка на #algoclass — судя по первым темам материал совпадает. Думаю это тот же курс но без домашних заданий, форума, и к тому же прошлогодний. Рекомендую всё же проходить на algoclass — с домашними заданиями обучение более эффективно.
Давно ищу подобное решение. В данный момент использовал Clipperz, но у него очень убогий функционал. Когда аккаунтов от различных ресурсов накапливается под сотню, держать их все в голове становится сложновато.
Теоретически — всё верно описано. На практике: gcc-4.7 применяет NRVO, а не move semantics при возвращении временных объектов. MS VC 10 в Release так же использует NRVO. Если изменить пример на:
Желание бывает разной степени интенсивности. Задача хорошего преподавателя — заинтересовать и мотивировать учащегося. Самомотивирующиеся ученики на вес золота и им не нужны курсы — они и так всё найдут и научаться.
Научить школьников численным методам за 20 часов? Вы планируете им только теоретические основы давать? Без самостоятельного решения практической задачи в голове у учащихся отложится не многое. Если вы сможете за 20 часов дать средне-статистическому школьнику всю необходимую теоретическую часть, а так же ознакомить с инструментами 2d/3d визулизации на каком-либо из языков программирования, снимаю перед вами шляпу. Но по моему опыту, на этот процесс обычно уходит намного больше времени.
В любом случае это хорошое начинание! Напишите потом после окончания курса о результате и о методике, было бы интересно узнать.
Ещё хотелось бы отметить один момент. Постоянно проверяйте (по мере возможности) — действительно ли ученик понимает те вещи, которые вы ему объясняете. У всех разный уровень подготовки, все по разному соображают, поэтому даже ваше самое идеальное объяснение может оказаться не совсем понятным вашему ученику. Не верьте, когда ученик говорит что ему понятно. Лучше задайте уточняющий вопрос. Очень часто ученик соглашается, не понимая материал до конца. Либо ученику кажется что он понимает, а на самом деле это не так.
Если у вас есть скомпилированный .o файл, то он будет линковаться целиком, а не «по частям». Т. е. не зависимо от того, какие функции из него вы используете, слинкован будет весь код (если речь идёт о статической линковке). В вашем примере вы используете функцию write, и функция _start у вас не реализованна (она тоже в стандартной библиотеке).
Не согласен. Сравнение корректно, т. к. код выполнен с учётом парадигмы того языка, на котором он написан. Можно и на C++ писать через сисколы, однако это не соответствует стилю С++. К тому же ваш пример всё равно слинкуется с сишной библиотекой, и в итоге результат тот-же, 568К.
К сожалению на Си такие низкоуровневые фокусы не пройдут. Тут даже асм транслятор не всегда генерерует именно те машинные коды, какие нам нужны, что уж говорить о Си компиляторе.
std::string f()
{
std::string s = "Hi!";
Finalizer fin(s);
return std::move(s);
}
Тогда да, объект утянется.
В любом случае это хорошое начинание! Напишите потом после окончания курса о результате и о методике, было бы интересно узнать.
Во втором:
В итоге после компиляции и линковки objdump выдал:
Слинкованы обе функции хотя вызывается только одна. Опишите подробнее ваш опыт. Я думаю лучше в ЛС. Возможно это тема для отдельной статьи.