Вопросы с тегом 'c++17'

С++ 17 - это название стандарта С++, утвержденного в 2017 году. Он основывается на предыдущем стандарте С++ 14, улучшении основного языка и стандартной библиотеки и добавлении нескольких новых языковых функций.
1

Каковы новые возможности в С++ 17?

С++ 17 теперь полностью завершена, поэтому вряд ли произойдут большие изменения. Сотни предложений были выдвинуты для С++ 17. Какая из этих функций была добавлена ​​в С++ в С++ 17? При использовании компилятора С++, который поддерживает "С++ 1z", к...
27 июн. '16 в 18:06
5

Правила аннулирования Iterator

Каковы правила аннулирования итератора для контейнеров С++? Предпочтительно в формате сводных списков. <суб > (Примечание: это означает запись в Часто задаваемые вопросы о переполнении стека С++. Если вы хотите критиковать идею предоставлени...
22 июн. '11 в 10:01
6

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

Этот FAQ относится к агрегатам и POD и охватывает следующий материал: Что такое Агрегаты? Что такое POD (Обычные старые данные)? Как они связаны? Как и почему они особенные? Какие изменения для С++ 11?
14 нояб. '10 в 15:35
30

перечисление в строку в современном С++ 11/С++ 14/С++ 17 и будущем С++ 20

В отличие от всех других подобных вопросов, этот вопрос касается использования новых функций C++. 2008 c Есть ли простой способ преобразовать перечисление C++ в строку? 2008 c Простой способ использовать переменные типов enum в виде строки в C? 2008...
03 мар. '15 в 10:05
1

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

P0137 представляет шаблон функции std::launder и вносит множество изменений в стандарт в разделах, касающихся объединений, времени жизни и указателей. Какую проблему решает эта статья? Какие изменения в языке я должен знать? А что мы launder?
08 сент. '16 в 4:16
5

Как именно std :: string_view быстрее, чем const std :: string &?

std::string_view сделал это на С++ 17, и рекомендуется использовать его вместо const std::string&. Одной из причин является производительность. Может кто-нибудь объяснить, насколько точно std::string_view будет/будет быстрее, чем const std:...
19 окт. '16 в 9:55
6

Имеет ли С++ 11, 14, 17 или 20 стандартную константу для pi?

Существует довольно глупая проблема с числом pi в C и C++. Насколько я знаю, M_PI, определенный в math.h, не требуется ни в одном стандарте. Новые стандарты C++ ввели много сложной математики в стандартную библиотеку - гиперболические функции, std::...
11 апр. '18 в 14:49
12

Самый элегантный способ написать однократное "если"

Начиная с C++ 17, можно написать блок if который будет выполнен ровно один раз, например так: #include <iostream> int main() { for (unsigned i = 0; i < 10; ++i) { if (static bool do_once = true; do_once) { // Enter only once ...
24 июн. '19 в 14:08
6

Лямбда возвращается: это законно?

Рассмотрите эту довольно бесполезную программу: #include <iostream> int main(int argc, char* argv[]) { int a = 5; auto it = [&](auto self) { return [&](auto b) { std::cout << (a + b) << std::endl; ...
05 сент. '18 в 19:42
3

Как работают встроенные переменные?

На собрании стандартов Oulu ISO С++ 2016 года предложение по стандарту Inline Variables было проголосовано в С++ 17 комитетом по стандартам. В условиях неспециалиста, что такое встроенные переменные, как они работают и для чего они полезны? Как объя...
26 июн. '16 в 21:39
3

Как получить размер файла в байтах с С++ 17

Есть ли подводные камни для конкретных операционных систем, о которых я должен знать? Есть много дубликатов (1, 2, 3, 4, 5) этого вопроса, но они были даны ответы десятилетия назад. Очень многие проголосовавшие ответы на многие из этих вопросов сег...
30 июн. '19 в 20:33
3

Когда информация о типе возвращается в C++?

Я только что видел, как Стефан Т. Лававей выступил на CppCon 2018 аргумента шаблона класса", где в какой-то момент он случайно сказал: В C++ информация о типах почти никогда не течет в обратном направлении... Я должен был сказать "почти", потому ч...
12 нояб. '18 в 21:16
3

std:: lock_guard или std:: scoped_lock?

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

Зачем использовать std :: make_unique в С++ 17?

Насколько я понимаю, С++ 14 ввел std::make_unique потому что из-за того, что не был указан порядок оценки параметров, это было небезопасно: f(std::unique_ptr<MyClass>(new MyClass(param)), g()); // Syntax A (Объяснение: если оценка сначала вы...
20 дек. '18 в 14:23
5

Как включить компиляцию С++ 17 в Visual Studio?

Я хочу использовать возможности С++ 17. Как переключить компиляцию с С++ 14 на С++ 17 в Microsoft Visual Studio? Или он не доступен в версиях версий VS?
23 дек. '16 в 23:32