Вот вам хочется иметь концепты. Так хочется и мне. А люди, жалующиеся на шаблоны, как на что-то сложное и не похожее на С, скорее и концепты проклянут.
В Вашем примере мьютекс захватывается и сразу освобождается перед сиквенс поинтом — оператором,
В случае if (std::lock_guard lock(m); !container.empty()) lock живет в течение всего if стеймента
Спасибо за перевод и ссылку на статью.
Статья слишком outdated, т.к. с мув-семантикой на престол взошли «правило 5» и «правило 0». В продакшн коде для rtti я стараюсь всегда использовать unique_ptr, что позволит компайлеру сгенерить спец. функции должным образом (если это, конечно, не pimpl, где есть свои трики).
Ну что значит «словарь русского языка — метрика»? Определите метрику на множестве используемых англицизмов в данном посту как функцию, удовлетворяющую аксиомам отсюда, если вам действительно нечем заняться, кроме балабольства и оффтопа. В данном переводе я руководствовался теми выражениями, которые использовал в рабочем словаре с русскими коллегами, и которые, на мой взгляд, более удобны для понимания без траты время на интерпретацию. И, будучи фолловером русского языка, извольте удалить запятую после «Ну» в Вашем первом примечании.
Не очень понял смысл конъюнкции в данном случае.
Если matPix[j] выражение имеет тип byte (или char в С), и если конъюнкция использовалась, чтобы предостеречься от записи мусора, то и Java и C определяют так называемый integral promotion, который гарантированно избавит от побитовых нелепостей.
Когда год назад собеседовался на специальность Software Engineering, обратил внимание, что в подавляющем большинстве вопросы были на глубокое понимание математических основ и вскольз о C++. Т.е. ни о Unix, ни об архитектуре эвм, ни о техниках компиляции, ни тем более о generic programing я вопросов не услышал, хотя на тот момент владел навыками промышленной разработки на C++ под Linux, а через полгода уже коммитил в Boost.Math. Тем не менее, данный подход кажется правильным, т. к. убежден в необходимости алгоритмических и математических знаний разработчику. Тем более (насколько я знаю) theoretical computer science является branch of mathematics.
Если Вы думаете, что C++ и embedded это нонсенс, то вот список документов для ознакомления:
Еще вот отличная книга отличного автора:
Christopher Michael Kormanyos Real-Time C++: Efficient Object-Oriented and Template Microcontroller Programming
На мой взгляд, это не лучшая идея, даже сравнительно VLAs. Насколько мне известно, alloca не стандартизирована ни в C89, ни в C99. Цитата из linux man:
RETURN VALUE The alloca() function returns a pointer to the beginning of the allocated space. If the allocation causes stack overflow, program behaviour is undefined
они пойдут в file.cpp:42 и далее
"что за е… т requires Y< X >? Почему не void*?"
В случае if (std::lock_guard lock(m); !container.empty()) lock живет в течение всего if стеймента
А также вместо инит стэймента может быть экспрешн стэйтмент:
Кстати, кланг уже поддерживает эту фичу (спасибо мне и Ричарду Смиту :)
Статья слишком outdated, т.к. с мув-семантикой на престол взошли «правило 5» и «правило 0». В продакшн коде для rtti я стараюсь всегда использовать unique_ptr, что позволит компайлеру сгенерить спец. функции должным образом (если это, конечно, не pimpl, где есть свои трики).
Если matPix[j] выражение имеет тип byte (или char в С), и если конъюнкция использовалась, чтобы предостеречься от записи мусора, то и Java и C определяют так называемый integral promotion, который гарантированно избавит от побитовых нелепостей.
P.S. Я не прошел собеседование :)
stackoverflow.com/questions/19811452/c-calling-function-with-parenthesis-around-its-name
Думал, это для запрета ADL.
Пожалуйста, добавьте название структуры file_operations в определение её объекта:
Еще вот отличная книга отличного автора:
Christopher Michael Kormanyos Real-Time C++: Efficient Object-Oriented and Template Microcontroller Programming