C++14 – вопросы и ответы

102
голоса
3
ответа
Я пытаюсь использовать ключевое слово decltype для автоматической функции: struct Thing { static auto foo() { return 12; } using type_t = decltype(foo()); }; И я получаю следующую ошибку (gcc 7.4):...
1 год, 11 месяцев назад DarthRubik
60
голосов
1
ответ
У меня возник вопрос, связанный с написанием конструктора, основанного на диапазоне, для класса, но не смог найти правильную формулировку для поиска справки по Google. Предположим, что я пишу прост...
2 года, 10 месяцев назад gowrath
131
голос
3
ответа
Как написать общую пересылку lambda в С++ 14? Попробуйте # 1 [](auto&& x) { return x; } Внутри тела функции x является lvalue, поэтому это не работает. Попробуйте # 2 [](auto&& x) {...
4 года, 9 месяцев назад mavam
84
голоса
2
ответа
Я написал этот код Java, который работает очень хорошо: static String getFraction(double x) { double limit = 1.0E-6; double h1 = 1, h2 = 0, k1 = 0, k2 = 1; double y = x; do { double a = Math.floor(...
2 года, 2 месяца назад Raffaele Rossi
49
голосов
0
ответов
Может ли кто-нибудь объяснить следующую ошибку, которую я получаю при связывании с предварительно созданным статическим libary libsioclient.a. Связывание работает отлично в случае сборки отладки (O...
1 год, 11 месяцев назад Amar Vishwakarma
50
голосов
2
ответа
Я изменил исходный код и нашел функцию, которая выглядит так: учти это: int examplefn(int x) { return x * 4; } int (*rtx())(int) { return examplefn; } ну, тогда мне нужно сделать функцию указателя ...
2 года, 10 месяцев назад nikomaster
62
голоса
0
ответов
Использование g++ 7.2.1 на Centos 7: Если я определяю структуру с использованием name = struct {...}; в пространстве имен, которое я создаю и пытаюсь создать экземпляр объекта с вектором элементов ...
1 год, 10 месяцев назад jim segrave
51
голос
1
ответ
У меня есть эта структура данных: class foo { class bar key; … some_associated_values … }; Теперь я хочу создать unordered_set/map/независимо от этого. Моя проблема заключается в том, что С++ 14 не...
3 года назад Matthias Urlichs
-7
голосов
1
ответ
Я написал простой код для DFS, используя C++, но значение, которое я передаю, и значение, которое получает функция, отличаются. Печать значений, полученных функцией, объясняет. Можете ли вы помочь ...
1 год, 2 месяца назад Harsh raj
-5
голосов
2
ответа
struct MyStruct { int x = 0; } std::array<std::unique_ptr<MyStruct>, 10> Arr; // Arr[0] = ? Каков синтаксис для назначения объекта для такого массива? Моя рекомендация .
1 год, 6 месяцев назад Amit G.
-4
голоса
2
ответа
Нечетное поведение при создании объекта с помощью std :: unique_ptr. Вот два примера: #include<iostream> #include<memory> using namespace std; class A { public: A() { throw "EOF"; } voi...
1 год, 4 месяца назад Soumya dutta
144
голоса
2
ответа
Рассмотрим ниже приведенный ниже фрагмент: template <class T> using identity = T; template <class T> void foo(identity<T>&&) {} int main() { int i{}; foo(i); } i является ...
4 года, 10 месяцев назад Marc Andreson
60
голосов
0
ответов
std :: bind error with "условное выражение типа" std :: _ Unforced 'является незаконным " Нужна помощь в понимании этой ошибки template <typename Func> bool IsConfigured(Func &f, const CS...
2 года назад Bing Lan
138
голосов
2
ответа
Предположим, что следующий код: namespace test { namespace detail { } inline namespace v1 { namespace detail { void foo() { } } } } int main() { test::detail::foo(); }
5 лет, 6 месяцев назад Griwes
85
голосов
1
ответ
В Mac OS, если я запустил clang --version , я получаю: Apple LLVM version 6.0 (clang-600.0.34.4) (based on LLVM 3.5svn) Target: x86_64-apple-darwin14.0.0 Thread model: posix Так как официальная стр...
5 лет, 4 месяца назад Max Chetrusca
91
голос
1
ответ
Кому принадлежит разделяемое состояние в фьючерсах и promises? В частности, кто несет ответственность за создание и удаление общего состояния в этих классах? Или это общее состояние, которое должно...
2 года, 10 месяцев назад Curious
114
голосов
1
ответ
Почему нужно сначала называть std:: ref вместо того, чтобы не называть его вообще? template<class F, class...Ts> F for_each_arg(F f, Ts&&...a) { return (void)initializer_list<int&g...
5 лет назад Martin
68
голосов
1
ответ
У меня есть шаблон класса, например Sample.hpp с псевдонимом типа X. #ifndef SAMPLE_HPP #define SAMPLE_HPP template<typename STA, typename STB> class Sample { using X = Sample<STA,STB>;...
2 года, 5 месяцев назад Cherkesgiller Tural
68
голосов
2
ответа
Возьмем простой пример SFINAE templating #include <iostream> template <typename T> struct has_typedef_foobar { // Types "yes" and "no" are guaranteed to have different sizes, // specifi...
4 года, 5 месяцев назад user4910881
49
голосов
0
ответов
Я кодирую свой собственный специальный контейнер, я хочу, чтобы они были максимально совместимы с STL, включая С++ 14 и современный STL? Возможно, даже С++ 17. Должен ли я подготовить его для обраб...
2 года, 9 месяцев назад alfC
50
голосов
2
ответа
Название в основном говорит все: где C++ 14 стандарт указывает инициализацию аргументов функции и инициализацию из возвращаемых значений функции? В стороне: Чтобы согласовать то, что делает моя ско...
4 года, 1 месяц назад apriori
71
голос
2
ответа
Сегодня я узнал о идеальной пересылке, и я создал этот пример кода #include <utility> #include <functional> template<typename Function, typename... Args> auto toStdFun(Function&am...
4 года, 6 месяцев назад Russell Greene
49
голосов
1
ответ
В приведенном ниже коде не печатается широкий символ: #include <ncurses.h> using namespace std; int main(void){ initscr(); printw("█"); getch(); endwin(); } Этот код, похоже, работает на неко...
2 года назад Charlie Barry
50
голосов
1
ответ
Как можно инициализировать агрегированные типы value в С++ 14 с синтаксисом списка-инициализации? Aggregate_t {}; Это рассматривается как агрегатная инициализация, которая создает ошибки или предуп...
4 года, 12 месяцев назад Prikso NAI
60
голосов
2
ответа
class A { int a = 100; }; а также class A { int a; public : A() { a = 100; } }; Я знаю, что есть два подхода, потому что статические переменные инициализируются вне класса и не могут быть выполнены...
3 года, 1 месяц назад Tanmay Bhatnagar
49
голосов
1
ответ
Виртуальные деструкторы необходимы, когда объект (потенциально) разрушен из указателя базового класса. Рассмотрим программу без динамической памяти, часто встречающуюся во встроенных системах. Здес...
1 год, 4 месяца назад Alexander
108
голосов
4
ответа
Я пишу какую-нибудь программу для автоматического вызова некоторых API-интерфейсов с помощью генерации кода. В некоторых случаях мне нужно преобразовать из типа Source в тип Target , но эти типы ук...
3 года, 6 месяцев назад Germán Diago
49
голосов
2
ответа
Рассмотрим следующий код: #include <iostream> class first { public: constexpr first(bool val) noexcept : _value{val} {} constexpr operator bool() const noexcept {return _value;} private: bool...
4 года, 1 месяц назад Vincent
77
голосов
2
ответа
Как псевдоним имени, которое действует как производный класс в CRTP? Является ли это ( Derived1 ) просто невозможным, и мне нужно полностью создать новый класс ( Derived2 )? template<class CRTP,...
2 года, 9 месяцев назад javaLover
-4
голоса
1
ответ
Я инициализирую shared_ptr для отображения в отдельной функции, называемой GetData. Эта карта передается как аргумент функции GetData. Однако, в основном, карта возвращается пустой после вызова фун...
1 год, 6 месяцев назад BKS
91
голос
1
ответ
У меня проблемы с концептуально простым кодом. Мне нужно собрать некоторые итераторы из вектора внутри цикла, и я хотел бы использовать возможности TBB для параллелизации этого цикла. Здесь минимал...
3 года, 7 месяцев назад dodomorandi
60
голосов
2
ответа
Это упрощение другой проблемы, которую я имею, но она стоит сама по себе. Идея состоит в том, чтобы реализовать функциональные примитивы, подобные map и apply в Схеме. Просто повторим: на схеме, за...
4 года, 2 месяца назад Mats Kindahl
77
голосов
1
ответ
В этом видео , примерно в 6.39, ведущий, кажется, говорит, что new всегда возвращает память, выровненную на std::max_align_t , что делает потому что operator new ничего не знает о типе выделенной п...
4 года, 4 месяца назад Belloc
106
голосов
2
ответа
Для этой реализации сортировки сортировки: template <typename Iterator, typename Compare> void sort(Iterator begin, Iterator end, Compare comp) { for (auto i = begin; i != end; ++i) { auto mi...
3 года назад Abhinav Gauniyal
49
голосов
2
ответа
Следующий код работает так, как ожидалось: void foo(auto const &){} auto const rng{ranges::view::all(v)}; ranges::for_each(rng, [](auto const & r){ foo(r); }); Но следующее: void foo(auto c...
2 года, 10 месяцев назад nikitablack
60
голосов
0
ответов
static decltype(auto) Get(XML_Serializer& arcSer) { return TDataConverter<TDataConverterAttribute>::Get(arcSer, DT_TypeDescriptor::Instance().GetAttribute<TVal, DT_DataConverterAttribu...
1 год, 1 месяц назад Pawan Kumar
90
голосов
2
ответа
У меня есть член класса non-pointer, который мне нужно инициализировать в конструкторе: class Alerter { protected: Timer timer; public: Alerter(int interval); }; а потом Alerter::Alerter(int interv...
1 год, 8 месяцев назад h22
92
голоса
2
ответа
Позволяет сказать, что у меня есть функция, которая принимает только параметр шаблона типа, я не могу изменить его определение/реализацию. template < typename T > void do_it(); Теперь у меня ...
3 года назад Kornel Kisielewicz
79
голосов
0
ответов
#include <curses.h> #include <Windows.h> int main(){ return -2; } Когда я скомпилирую это, ошибки не возникает. Если я поменяю позиции #include <curses.h> и #include <Windows.h...
3 года, 4 месяца назад SergeantPenguin
49
голосов
1
ответ
Я вижу этот вопрос с 2009 года: Наследование класса enum Base Тем не менее, я знаю, что в С++ 11, 14, 17. было внесено несколько изменений в перечисление. Может ли какое-либо из этих изменений расш...
2 года, 11 месяцев назад Christopher Pisz
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема