c++

статические функции переменная функция constexpr против

есть ли разница между объявлением константы с плавающей запятой как static constexpr переменной и функции, как в примере ниже, или это просто вопрос стиля? class MY_PI { public: static constexpr float MY_PI_VAR = 3.14f; static constexpr floa ...

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

допустим, я пишу функцию для печати длины строки: template <size_t N> void foo(const char (&s)[N]) { std::cout << "array, size=" << N-1 << std::endl; } foo("hello") // prints array, size=5 теперь я хочу продлить fo ...

Почему auto x{3} выводит список инициализаторов?

Я люблю auto в C++11. Это замечательно. Но у него есть одно несоответствие, которое действительно действует мне на нервы, потому что я все время спотыкаюсь: int i = 3; // i is an int with value 3 int i = int{3}; // i is an int with value 3 in ...

Как называется эта необычная функция шаблона C++, используемая Boost.Дух?

приведенный ниже код от импульс.Документация Spirit x3. Он использует интересный синтаксис C++, который я никогда раньше не видела, который почти невозможно описать в поисковом запросе, не зная правильной терминологии. Является ли это сокращением для ...

std:: vector, конструкция по умолчанию, C++11 и критические изменения

сегодня я столкнулся с довольно тонким вопросом, по которому я хотел бы иметь ваше мнение. рассмотрим следующий сад-разнообразие общего тела идиомы класса: struct S { S() : p_impl(new impl) {} private: struct impl; boost::shared_ptr< ...

СТД::замок гвардии или std::области замка?

C++17 представил новый класс блокировки под названием std::scoped_lock. судя по документации, он похож на уже существующий std::lock_guard класса. в чем разница и когда я должен использовать его? ...

строка:: тип размера вместо int

const std::string::size_type cols = greeting.size() + pad * 2 + 2; почему string::size_type? int должно работать! он содержит цифры!!! ...

Математические Функции Constexpr

Так заметили из этого страница что ни одна из математических функций в c++11, похоже, не использует constexpr, тогда как я считаю, что все они могут быть. Так что у меня остается два вопроса, один из которых-почему они решили не делать функции conste ...

Почему Clang оптимизирует этот код?

цель кода состоит в том, чтобы найти общее количество 32-разрядных битовых шаблонов с плавающей запятой, которые представляют значения между 0 и 1. Мне кажется, что это должно работать, но по какой-то причине вывод сборки из Clang в основном эквивале ...

C++ terminate вызывается без активного исключения

Я получаю ошибку C++ с потоковой обработкой: terminate called without an active exception Aborted вот код: #include <queue> #include <thread> #include <mutex> #include <condition_variable> template<typename TYPE> cl ...

Преобразовывать поток в стандартную строку

Я очень новичок в C++ STL, так что это может быть тривиально. У меня есть ostream переменная с текстом на нем. ostream* pout; (*pout) << "Some Text"; есть ли способ извлечь поток и сохранить его в строке типа char*? ...

Получение "тип источника не является полиморфным" при попытке использовать динамическое приведение

struct A {}; struct B : A {}; int main() { A* a = new B(); B* b = dynamic_cast<B*>(a); } выдает: не динамическое приведение dynamic_cast 'а' (типа 'struct а*'), чтобы типа 'struct Б*' (типа источник не полиморфными) Как я мог ...

Что такое значение итератора по умолчанию?

для любого контейнера STL, который я использую, если я объявляю итератор (этого конкретного типа контейнера) с помощью конструктора по умолчанию итератора, к чему будет инициализирован итератор? например, у меня есть: std::list<void*> addre ...

отображение значений по умолчанию

std::map<int,int> mapy; ++mapy[5]; можно ли предположить, что mapy[5] всегда будет 1? Я имею в виду, будет mapy[5] всегда получить значение по умолчанию 0 Перед'++', даже если не объявлено явно, как в моем коде? ...

Какая польза от перегрузки const в C++?

в C++ сигнатура функции частично зависит от того, является ли она const. Это означает, что класс может иметь две функции-члена с одинаковыми сигнатурами, за исключением того, что одна из них является const, а другая-нет. Если у вас есть такой класс ...

Разница между аргументами функции, объявленными с помощью & и * в C++

Я набрал следующий пример: #include <iostream> double f(double* x, double* y) { std::cout << "val x: " << *x << "\n"; std::cout << "val y: " << *y << "\n"; return *x * *y; } double f2(double & ...

Глобальная область и глобальное пространство имен

Я видел использование этих двух фраз: global scope и global namespace. В чем разница между ними? ...

Все целочисленные значения идеально представлены в виде двойников? [дубликат]

этот вопрос уже есть ответ здесь: представление целых чисел в двойниках 5 ответов мой вопрос заключается в том, что все целочисленные значения гарантированно ...

Конкретные инструкции ОС в CMAKE: как это сделать?

Я новичок в CMAKE. Ниже представлен простой файл cmake, который хорошо работает в MinGW environment windows. Проблема явно с target_link_libraries() функция CMAKE, где я связываю libwsock32.а. В Windows это работает, и я получаю результаты. однако, ...

Как определить запечатанный класс В C++?

Как остановить класс, который будет унаследован другим классом. ...