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

2 ответа

Модель памяти C ++ и условия гонки на массивах символов

В основном у меня проблемы с пониманием этого: (из Bjarne FAQ) Однако большинство современных процессоров не могут читать или записывать один символ, они должны читать или писать целое слово, поэтому присваивание c на самом деле означает ...

4 ответа

Ошибка GCC с шаблонами переменных: «Извините, не реализовано: невозможно развернуть« Идентификатор ... »в список аргументов фиксированной длины»

Выполняя вариационное программирование шаблонов в C ++ 11 на GCC, время от времени я получаю сообщение об ошибке: «Извините, не реализовано: невозможно развернуть« Идентификатор ... »в список фиксированной длины». Если я удаляю «...» в коде, я ...

2 ответа

Гарантирует ли стандарт C ++ 11, что std :: atomic <> реализован как атомарная операция?

Я на перекрестке, я пытаюсь выбрать между структурой данных на основе блокировки мьютекса и структурой данных без блокировки (и, возможно, без ожидания). Копаясь немного глубже, я не нашел ни слова о том, что стандарт C ++ 11 поддерживает ...

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

4 ответа

Я упоминал об этом, и это представляет интересную и хитрую проблему оптимизации. В этих случаях используются два совершенно разных пути кода, поскольку один ДОЛЖЕН быть оценен во время компиляции, а другой - нет.

ользую gcc 4.6.1 и получаю интересное поведение, связанное с вызовомconstexpr функция. Эта программа работает очень хорошо и сразу распечатывает12200160415121876738. #include <iostream> extern const unsigned long joe; constexpr unsigned ...

5 ответов

ошибка constexpr во время компиляции, но без издержек во время выполнения

Существует хорошо известная хитрость, которая вызывает ошибку времени компиляции при вычисленииconstexpr функция, делая что-то вроде этого: constexpr int f(int x) { return (x != 0) ? x : throw std::logic_error("Oh no!"); }И если функция ...

2 ответа

Псевдоним шаблона C ++ 11 в качестве аргумента шаблона шаблона приводит к другому типу?

Мы наблюдали странное поведение при компиляции следующего исходного кода: template<template<class> class TT> struct X { }; template<class> struct Y { }; template<class T> using Z = Y<T>; int main() { X<Y> y; X<Z> z; z = y; // it fails here }Это ...

5 ответов

Это в основном вопрос личных предпочтений, однако, я чувствую, что решение (потенциальных) конфликтов имен в C ++ лучше всего делать с использованием пространств имен, так как именно в этом и заключается смысл существования пространств имен.

ли смысл делать что-то вроде этого: namespace status{ enum status{ ok, error }; }и использовать это такstatus::ok Или я должен сделать это: enum status{ status_ok, status_error };и использовать это такstatus_ok? Обновить:С C ++ 11 вы теперь ...

4 ответа

Код @IvanKush обновлен. Спасибо.

ожно создать рекурсивный вариационный шаблон для распечатки содержимого пакета paramater? Я пытаюсь с этим, но он не может скомпилировать: template <typename First, typename ...Args> std::string type_name () { ...

1 ответ

 а также

у неstd::unordered_map<tuple<int, int>, string> просто работать из коробки? Утомительно определять хеш-функцию дляtuple<int, int>например, template<> struct do_hash<tuple<int, int>> { size_t operator()(std::tuple<int, int> const& tt) const {...} ...

3 ответа

Нет, перегрузка без параметров типа не имеет значения. Это все еще двусмысленно без этого.

вязано смой предыдущий пост [https://stackoverflow.com/questions/7108161/simple-variadic-template-function-cant-instantinate] , Я хотел бы знать, почему одна попытка решения не сработала. template <typename... T> /* A */ size_t num_args (); ...