1
ответ

Является ли способ, которым я объявил абстрактный класс неправильным / не распространенным? [Дубликат]

Мне сказали, что способ, которым я объявил Abstract-Class, неверен или не используется в C ++, но он все еще работает. Я не смог найти полезного источника, чтобы составить мнение по этому поводу, поэтому я хочу знать, необычно ли это / ...
вопрос задан: 18 January 2019 18:17
1
ответ

Вопрос о применении указателей, и это делает цикл бесконечным

Я новичок в программировании и создании калькулятора, который использует программу для вычисления другого набора чисел, и после выполнения циклов для элементов управления вводом я решил иметь управление памятью, потому что ...
вопрос задан: 18 January 2019 12:55
1
ответ

Почему это неоднозначный вызов функции с использованием GCC? Шаблонный вывод не удался?

Я не могу скомпилировать мой текущий, на мой взгляд, действительный код C ++ (17) ни с помощью GCC, ни clang. Недавно мне удалось вызвать ошибку при компиляции моего (на мой взгляд) корректного кода C ++ 17 с помощью clang (сообщение об ошибке: ...
вопрос задан: 18 January 2019 12:35
1
ответ

Как заменить спецификации динамических исключений: throw (& hellip;)

Я работаю над проектом, который использует устаревшую библиотеку, которая использует определения функций, такие как void func () throw (some_exception); Поскольку спецификации динамических исключений удалены в C ++ 17, я ...
вопрос задан: 17 January 2019 15:58
1
ответ

Вывод аргумента шаблона класса для массива указателей на функции работает на Clang, но не на GCC

Следующий код: #include < array > шаблон < int i > auto f () {} int main () {std :: array {f < 5 >}; } компилируется с помощью clang 7.0, но не работает с gcc 8.2 с сообщением prog.cc: ...
вопрос задан: 17 January 2019 12:47
1
ответ

Отсутствует инициализатор для члена статических данных constexpr

Насколько я прочитал, следующий код совместим с C ++ 17, и действительно Clang> 5.0 принимает его, но не GCC 8.2. #include < type_traits > // для is_literal_type_v struct Wrapper {constexpr ...
вопрос задан: 16 January 2019 21:48
1
ответ

Почему ссылки запрещены в std :: варианте?

Я часто использую Boost :: Вариант и хорошо знаком с ним. boost :: variable не ограничивает никакие ограниченные типы, в частности, они могут быть ссылками: #include < boost / variable.hpp > # ...
вопрос задан: 16 January 2019 13:57
1
ответ

std :: mt19937 завершается ошибкой, когда std :: uint_fast32_t равен 4 байта в GCC

Проблема, с которой я столкнулся, возникает, когда я пытаюсь проверить пример cppreference для генерации псевдослучайных чисел. Приведенный пример: #include < iostream > #include < random > инт ...
вопрос задан: 16 January 2019 01:01
0
ответов

Почему в C ++ 17 изменилась спецификация цикла, основанная на диапазоне «для»? [Дубликат]

Я просматривал какой-то уродливый код (который изменял основную последовательность во время итерации), и чтобы изучить определение цикла for, основанного на диапазоне, я обратился к cppreference. Там я заметил ...
вопрос задан: 4 October 2019 17:18
0
ответов

Правильное распространение переменной `decltype (auto)` из функции

(Это продолжение из «Есть ли реальные варианты использования переменных` decltype (auto) `?»). Рассмотрим следующий сценарий - я хочу передать функцию f другой функции invoke_log_return ...
вопрос задан: 13 August 2019 10:35
0
ответов

Что такое контракты (как предложено для C ++ 17)?

Я читал о контрактах в «Размышлениях о С ++ 17» Б. Страуструпа и помогал в небольшой презентации, рассказывая о них, но я не уверен, что действительно понял их. Так что у меня есть немного ...
вопрос задан: 20 July 2019 22:52
0
ответов

Инициализация переменных в операторе if

Я читал, что в C ++ 17 мы можем инициализировать переменные в выражениях if, подобных этому if (int length = 2; length == 2) // выполнить что-то вместо int length = 2; if (length == 2) // сделать что-то ...
вопрос задан: 10 July 2019 10:23
0
ответов

Как перебрать одинаковые значения со стандартной библиотекой?

Предположим, что у меня есть вектор чего-то: std :: vector v; Этот вектор отсортирован, поэтому равные элементы находятся рядом друг с другом. Каков наилучший способ получить все пары итераторов, представляющих ...
вопрос задан: 3 July 2019 16:18
0
ответов

Какова цель std :: to_integer?

Насколько я знаю, std :: to_integer эквивалентно T (value), где value - это переменная, имеющая тип std :: byte. Я посмотрел на некоторые реализации от основных компиляторов и обнаружил, что в этом ...
вопрос задан: 22 June 2019 22:10
0
ответов

Что такое полное имя?

Насколько я могу судить, термин «полностью квалифицированный» не упоминается в стандарте (например,), но я могу вспомнить «слышать» его много раз в Интернете. Что люди имеют в виду, когда говорят, что имя полностью квалифицировано? ...
вопрос задан: 23 May 2019 12:04
0
ответов

C ++ 17 Назначение std :: from_chars и std :: to_chars?

До C ++ 17 существовало множество методов для преобразования целых чисел, чисел с плавающей точкой и двойных в и из строк. Например, std :: stringstream, std :: to_string, std :: atoi, std :: stoi и другие могут ...
вопрос задан: 26 April 2019 23:05
0
ответов

Правила аннулирования итераторов

Каковы правила аннулирования итераторов для контейнеров C ++? Желательно в формате краткого списка. (Примечание. Предполагается, что это будет вход в FAQ по C ++ в Stack Overflow. Если вы хотите критиковать идею ...
вопрос задан: 6 April 2019 07:07
0
ответов

Создать семейство шаблонных классов, конвертируемых друг в друга

Я хочу создать семейство шаблонных классов, где каждый из них будет происходить из общей базы. Эта общая база будет определять, как преобразовать экземпляр одного из этих производных классов в любой другой. Я ...
вопрос задан: 2 April 2019 16:47
0
ответов

Удержание аргумента шаблона класса в переменных-членах

Расширенная версия здесь. Мы можем создавать объекты шаблонов классов, которые имеют параметры шаблона по умолчанию, не вводя угловые скобки: int main () {std :: less a; } Но мы не можем сделать это для члена ...
вопрос задан: 6 March 2019 17:32
0
ответов

Любой способ сделать std :: upper_bound для переменной-члена?

Я хочу использовать std :: upper_bound для поиска диапазона объектов в каком-либо контейнере, которые меньше или равны заданному значению. Это делает его хорошим простым однострочником! Проблема в том, что меня интересует только ...
вопрос задан: 6 March 2019 06:59
0
ответов

Написание & ldquo; enum: int64_t & rdquo; значение до std :: ostringstream усекает его до int

Этот код ведет себя неожиданным образом с компилятором MSVC (набор инструментов v141, / std: c ++ 17): #include < iostream > #include < limit > #include < sstream > #include < stdint.h > int main () {...
вопрос задан: 1 March 2019 20:16
0
ответов

Запретить клиентам сохранять указатели, возвращаемые классом C ++

У меня есть класс file_manager, который отслеживает файлы в данном каталоге. Я использую его как модель для файлового интерфейса, похожего на Windows Explorer или macOS Finder. У file_manager есть различные методы find () для ...
вопрос задан: 28 February 2019 02:55
0
ответов

Невозможно передать аргумент лямбда-функции путем перехода в параметр `std :: function` [duplicate]

#include < functions > #include < memory > void f (std :: function < void () >) {}; int main () {auto x = std :: make_unique < int > (3); f ([x = std :: move (x)] () {}); } Wandbox ...
вопрос задан: 27 February 2019 15:05
0
ответов

Какова цель и использование `memory_resource`?

Стандарт C ++ 17 включает в себя новое пространство имен pmr, включающее в себя набор классов, сгруппированных под именем memory_resource. После поиска в интернете я нашел очень мало вульгарной информации об этом, ...
вопрос задан: 29 November 2018 23:15
0
ответов

Есть ли способ получить символ путем автоматического вывода типа с использованием десятичного кода ASCII?

Например, «a» имеет код ASCII 97, и мы могли бы использовать char ch = «a»; или символ ch = 97; С помощью auto мы можем написать auto ch = 'a'; для первого случая, но как получить переменную типа char по числовому значению ...
вопрос задан: 22 October 2018 14:42
0
ответов

Вывод аргументов шаблона со строго типизированными перечислениями

Если у меня обычное (слабое) перечисление, я могу использовать его перечисляемые значения как параметры шаблона, не относящиеся к типу, например: enum {Cat, Dog, Horse}; template bool magic (T & t) { ...
вопрос задан: 21 October 2018 23:55
0
ответов

поведение std :: async (std :: launch :: deferred) + std :: future :: then

Идея отсроченного будущего (достигаемого только путем вызова std :: async с флагом std :: launch :: deferred) заключается в том, что обратный вызов вызывается только тогда, когда кто-то пытается подождать или извлечь футуристическое значение ...
вопрос задан: 31 July 2018 16:51
0
ответов

Что такое агрегаты и POD и как / почему они особенные?

Этот FAQ о Агрегатах и ​​POD и содержит следующие материалы: Что такое Агрегаты? Что такое POD (простые старые данные)? Как они связаны? Как и почему они особенные? Что меняется для ...
вопрос задан: 11 June 2018 14:32
0
ответов

Типизированная безопасная вариадическая функция

Я хочу написать функцию, которая принимает переменное число строковых литералов. Если бы я писал на C, мне пришлось бы написать что-то вроде: void foo (const char * first, ...); и тогда звонок будет ...
вопрос задан: 15 May 2018 15:59
0
ответов

Почему в этом контексте нетипичный параметр шаблона не может быть автоматическим?

Простейший фрагмент, который мне удалось получить, чтобы воспроизвести проблему, выглядит следующим образом: #include <вариант> шаблон <авто V> с использованием ic = std :: integra_constant ; enum {shake} ...
вопрос задан: 2 February 2018 22:52