Красивый C++: 30 главных правил чистого, безопасного и быстрого кода
Қосымшада ыңғайлырақҚосымшаны жүктеуге арналған QRRuStore · Samsung Galaxy Store
Huawei AppGallery · Xiaomi GetApps

автордың кітабынан сөз тіркестері  Красивый C++: 30 главных правил чистого, безопасного и быстрого кода

Григорий Л.
Григорий Л.дәйексөз келтірді2 жыл бұрын
Например, гипотетически вы инженер-программист, а не инженер-электронщик. На уровне 1, физическом уровне, вы чувствовали бы себя очень некомфортно, и вам было бы гораздо удобнее работать на уровне 7, прикладном уровне. Возможно, вы слышали термин «full-stack-инженер». Такой инженер способен продуктивно работать на всех уровнях. Но это мифическое создание вряд ли встречается в реальности.
1 Ұнайды
Комментарий жазу
Сергей
Сергейдәйексөз келтірді4 апта бұрын
Однако это не мешает вам реализовать необходимые инструменты самостоятельно. Подробное описание можно найти в технической спецификации, ссылка на которую приводилась в сноске выше. Найдите тег [scopeguard], известный как стабильный индекс. Там вы отыщете полное описание, как должны работать эти четыре класса и функция, не являющаяся членом. На чтение у вас уйдет не более 15 минут, а сама реализация займет меньше времени, чем вы думаете.
Комментарий жазу
В рамках x64 ABI существует соглашение по умолчанию о быстром вызове с четырьмя регистрами. Функция с четырьмя параметрами будет выполняться немного быстрее, чем функция, принимающая класс по ссылке.
Комментарий жазу
Данил Пешков
Данил Пешковдәйексөз келтірді1 ай бұрын
Эта книга посвящена приемам написания хорошего кода. Поэтому первый совет — придерживайтесь стандарта ISO C++. Но что это означает на практике?
Комментарий жазу
Данил Пешков
Данил Пешковдәйексөз келтірді1 ай бұрын
Все примеры кода доступны на сайте Compiler Explorer. Мэтт Годболт (Matt Godbolt)
Комментарий жазу
Сергей
Сергейдәйексөз келтірді1 ай бұрын
Наконец, хотелось бы отметить, что, обнаружив в своем коде передачу функции нескольких входных/выходных параметров, вы можете быть уверены, что упустили из виду некоторую абстракцию. Возможно, вы пытаетесь выполнить своеобразную двойную (или более) диспетчеризацию и смоделировать взаимодействия нескольких классов, что в принципе не совсем правильно.
Комментарий жазу
Матвей А.
Матвей А.дәйексөз келтірді2 ай бұрын
Язык C++ гарантирует обратную совместимость: код, написанный 50 лет назад на C, будет компилироваться и сегодня.
Комментарий жазу
Матвей А.
Матвей А.дәйексөз келтірді2 ай бұрын
Например, несмотря на допустимость заполнять список инициализации конструктора в любом порядке, никогда не следует этого делать.
Комментарий жазу
Сергей
Сергейдәйексөз келтірді2 ай бұрын
Владеть чем-то означает нести ответственность за что-то.
Комментарий жазу
Сергей
Сергейдәйексөз келтірді2 ай бұрын
Тип gsl::owner определяется просто: если T является указателем, то gsl::owner становится псевдонимом T, иначе определение аннулируется.
Комментарий жазу