Результаты поиска по запросу "c++17"

4 ответа

Например, но это также не поддерживается стандартом.

уstd::any_cast броситьstd::bad_any_cast исключение, когда неявное преобразование из фактического сохраненного типа в запрошенный тип будет возможно? Например: std::any a = 10; // holds an int now auto b = std::any_cast<long>(a); // ...

1 ответ

Существует опция «опция языка c ++», где OP сказал, что он установил / std: c + = 17. Мое предложение состояло в том, чтобы заменить то, что он имеет сейчас, с "/ std: c ++ latest". Теперь, когда я думаю об этом, это изменение не должно иметь значения - string_view уже в C ++ 17. Вам не нужно последнее для это.

должаю получать сообщения об ошибках на std :: string_view, но я умею строить просто отлично. Есть ли способ сказать intellisense или линтеру C ++ использовать C ++ 17? Конкретная ошибка, которую я получаю: namespace "std" has no member ...

2 ответа

Я бы сказал, что это проблема QoI :)

орошего в использовании[[maybe_unused]]? Рассмотреть возможность int winmain(int instance, int /*prevInstance*/, const char */*cmdline*/, int show); int winmain(int instance, [[maybe_unused]] int prevInstance, [[maybe_unused]] const char ...

ТОП публикаций

1 ответ

 быть запрещенным, за исключением того факта, что это является излишним. Поэтому мы не можем так написать. Но вот где синтаксис размещает его со структурированной привязкой. Так же, как если бы вы имели

ал набор классов, чтобы позволить простой Python-какzip-функции. Следующий фрагмент работает (почти) так же, как и ожидалось. Тем не менее, две переменныеa а такжеb неconst. std::vector<double> v1{0.0, 1.1, 2.2, 3.3}; std::vector<int> v2{0, 1, ...

0 ответов

Я думаю, что xskxzr отвечает на мой вопрос более прямо и четко на человеческом языке, в отличие от загадочного стандартного текста, поэтому я приму его ответ. Тем не менее, ваш ответ вместе с обсуждением в разделе комментариев очень полезен, что вполне заслуживает голосования :)

refдо C ++ 17 верно следующее: [http://en.cppreference.com/w/cpp/memory/shared_ptr/make_shared]код такой как может вызвать утечку памяти, еслиf(std::shared_ptr<int>(new int(42)), g()) вызывается послеg и бросает исключение, в то время какnew ...

1 ответ

, Это было бы хорошим дополнением к Hana, чтобы сделать их заказчиками, потенциальная ловушка в том, что порядок может в конечном итоге зависеть от платформы / компилятора.

отрим следующую программу: #include <tuple> #include <vector> #include <iostream> #include <type_traits> template <class T> struct ordered {}; template <class... T> struct ordered<std::tuple<T...>> { using type = /* a reordered tuple */; }; ...

1 ответ

@Brian Public сейчас.

е следующее: struct X { X() {} X(X&&) { puts("move"); } }; X x = X();В C ++ 14 перемещение может быть исключено, несмотря на то, что конструктор перемещения имеет побочные эффекты благодаря [class.copy] / 31, Такое исключение операций ...

1 ответ

@ Rakete1111 - вы (и g ++) правы; Я вообще не знал об этом улучшении C ++ 17; Благодарю.

clang, похоже, не согласны с тем, должен ли этот код компилироваться или нет: #include <type_traits> template <typename Signature, int N = 0> struct MyDelegate { }; template <typename D> struct signature_traits; template <template <typename> ...

2 ответа

@VittorioRomeo: Еще одно редактирование - я склонен это сделать.

отрим следующий сценарий: std::array<int, 8> a; auto p = reinterpret_cast<int(*)[8]>(a.data()); (*p)[0] = 42;Этонеопределенное поведение? Я думаю, что это. a.data() возвращаетint*, который не совпадает сint(*)[8] правила наложения ...

1 ответ

Хорошо, я понял, спасибо.

вопрос следует за этимодин [https://stackoverflow.com/questions/48188737/is-pointer-arithmetic-on-inactive-member-of-a-union-ub] Давайте рассмотрим этот пример кода: struct sso { union{ struct { char* ptr; char size_r[8]; } large_str; ...