Вопросы по теме 'cpp-core-guidelines'

Есть ли законный способ перейти с gsl::not_null‹T›?
Библиотека поддержки рекомендаций представила not_null<T> , целью которого является применение инварианта к типам, подобным указателям, преднамеренно к умным указателям. . Однако известно , что not_null<unique_ptr<T>> не...
594 просмотров

Перегрузки gsl::span‹T› и gsl::span‹const T› неоднозначны
Основные рекомендации C++ продвигает практику используя span . Проблема заключается в константных и изменяемых диапазонах. Вот что я пытался сделать: auto foo(gsl::span<int>); // 1st auto foo(gsl::span<const int>);...
2498 просмотров
schedule 22.10.2022

Значение интерфейсов f(T*, int) и интерфейсов f(span‹T›) в основных рекомендациях cpp
Раздел P3 из основные принципы cpp предлагают следующий шаблон в разделе принудительного исполнения: Интерфейсы f(T*, int) и интерфейсы f(span) Может ли кто-нибудь объяснить, что это значит для сварливого старого программиста на C,...
150 просмотров
schedule 05.04.2023

Не используйте индекс массива, если индекс не является целочисленным константным выражением; используйте вместо этого gsl :: at ()
Я пытался создать пример кода в Microsoft Visual Studio, который выглядит так int main() { const size_t size = 10; int arr[size]; for (size_t i = 0; i < size; ++i) arr[i] = i; return 0; } Теперь JetBrains...
3138 просмотров
schedule 12.05.2022

C++: попытка устранить необработанный цикл с помощью эквивалентного алгоритма STL
Я пытаюсь модернизировать некоторый код C++, придерживаясь основных рекомендаций и публикуя рекомендации ++11. Конкретное руководство, к которому я обращаюсь здесь, состоит в том, чтобы использовать <algorithm> средства вместо необработанных...
227 просмотров
schedule 18.04.2023

Неиспользуемое пространство в макете в основных рекомендациях CPP
Я читал Основные принципы CPP , P.9: Не тратьте время и место : Пример, плохой: struct X { char ch; int i; string s; char ch2; X& operator=(const X& a); X(const X&); }; Затем в нем говорится:...
79 просмотров
schedule 16.02.2023

Как может созданный компилятором конструктор по умолчанию быть более эффективным, чем самописный конструктор, который ничего не делает, кроме инициализации членов?
Инициировано этим ответом , который я читал в основные рекомендации : C.45. Не определяйте конструктор по умолчанию, который только инициализирует элементы данных; вместо этого используйте инициализаторы членов класса Приведенное...
479 просмотров

Как обрабатывать предупреждение статического анализа от средства проверки основных рекомендаций о gsl::at?
Я активировал статический анализ для своего проекта в Visual Studio. Средство проверки основных рекомендаций говорит, что я должен использовать gsl::at для подписки. Но мой код сохраняется. Какой самый чистый способ избавиться от этого...
69 просмотров