Это его личное мнение. char я б не использовал, конечно, кроме как, может в массиве. А int как счетчик цикла — да сколько угодно. Да и на unsigned наезд необоснованный.
Ладно, если это массив структур, где есть указатели. Тогда их можно проверить на NULL. А если это массив чисел для мат. рассчётов? Какая тогда разница, malloc или calloc? Если забудешь инициализировать число, то что 0, что другое значение даст ошибку.
calloc() can check for integer overflow because it multiplies its arguments together to obtain your final allocation size.
Надо соображать, сколько памяти хочешь.
А вот про aligned_alloc() и прочее автор ничего не сказал. Это в 21 веке.
Но всё равно конструкции с goto я считаю полезными для разработки высокопроизводительных расчётных алгоритмов в основном.
А самый подходящий для этого язык - это Си, а там goto есть ;)
Всякие остальные высокообстрактные языки пусть хоть даже без человеческих циклов будут, можно ещё и булеву алгебру убрать :), всё равно на них ничего сверх быстродействующего и низкоуровневого не пишут.
Никогда не оказывал таких услуг. И, наверное, за этим все-таки лучше обратиться на профильный сайт к профессионал(к)ам, это должно быть недорого, но такой реквизит врядли у них найдется, так что лучше приготовь свой, шалунишка.
Интересно, когда ты поймешь что отказ от goto это повышение уровня абстракции.
while/until - это афигеть какие абстракции.
Кстати об абстракциях.
1. x86_64, секьюрбут, win10, хром, яваскрипт, вывод изображения по шифрованному видеоканалу. Все только ради того чтобы показывать часы в течение месяца. Надо ли говорить что оно через неделю глюкнуло, а на вторую врало на 25 секунд.
2. Два ембедщика спорят как лучше, один говорит я заворачиваю этот код в дефайны, а другой говорит «надо функцией». Оба считают, что оптимизируют команды проца stm, потому-что объем кода на сях в их представлении будет меньше. ИЧСХ оба не предстваляют, в какие инструкции будет развернут их код.
Я последние годы вижу кругом абстракции и нихера не вижу чтобы вещи просто работали как положено.
goto есть смысл использовать только при выходе из хитро вложенных циклов. Во всех остальных случаях я не встречал его оправданного применения с точки зрения читабельности кода.
Конечно, если нужен именно тип определенной длины — надо использовать stdint, а не угадывать, какой длины сегодня long на данной платформе. Но если на длину (почти) пофиг — int для этого и служит.
А вот это вообще бред:
float — standard 32-bit floating point
double - standard 64-bit floating point
потому что платформо-зависимо. Они вполне могут быть одинакового размера, например.
Не считаю такую концепцию правильной. Тем более в основном пишу на языках со сборщиком мусора или хотя бы с ООП, где надо меньше подобного. Для исключений throw try catch проще и нагляднее, конечно когда ЯП поддерживает подобную конструкцию.
Ты прав, остается разве что сбежать на необитаемый остров, где не будет роботизированных толчков, которые по ошибке обработки показаний датчика могут ведь и яйца сварить.
Да не. На счет нужности goto споров быть не может, а вот на счет точек выхода можно и побазарить. Это мнение какого-то винрарного гурупрограммиста, что return должен быть один, но я с ним не очень-то и согласен, ибо оверхед ненужный создает и нечитабельность.
Ну да, расскажи мне, чо куда выходит. Если есть какая-нибудь библиотека, которую можно собрать из одних и тех же исходников как для МК, так и для ПК (какой-нибудь протокол связи там, описание формата данных или ещё чего-нибудь) — городить две версии для «разных миров»? Щаз.
Если есть какая-нибудь библиотека, которую можно собрать из одних и тех же исходников как для МК, так и для ПК (какой-нибудь протокол связи там, описание формата данных или ещё чего-нибудь)
И как называется эта библиотека? Совсем хорошо, если в ней будет использоваться хотя бы float.