language-lawyer — все вопросы

1ответ
4 голоса
вызывать метод constexpr для параметра шаблона?
std::array<...>::size() не является static constexpr метод; будучи constexpr я могу использовать его как параметр шаблона: #include <array> #include <stdio> int main(void) { s
2ответа
4 голоса
Две формы inline-сборки [дубликаты]
     На этот вопрос уже есть ответ здесь:                   Чем отличаются «asm», «__asm» и «__asm__» ?                                      4 ответа                                Сущ
2ответа
4 голоса
Разрешение перегрузки методов-шаблонов с помощью ref-квалификаторов
Я разрабатываю контейнер с функцией доступа во время компиляции, используя специальный тип. Я также хочу иметь функцию доступа с использованием числа для реализации операций для всех элементов. Таки
1ответ
4 голоса
Что именно представляет собой «имя» объекта для целей замены объекта?
Согласно [basic.life] /8,    Если по истечении времени жизни объекта и до повторного использования хранилища, которое занимал объект, или   освобожден, новый объект создается в месте хранения, ко
1ответ
4 голоса
Является ли const_cast действительным в константном выражении? (C ++ 14, C ++ 17)
Конкретная проблема, с которой столкнулся a, заключается в том, что существует некоторая непоследовательность в том, как компиляторы обрабатывают это. Например, этот код ( https://godbolt.org/z/0
2ответа
4 голоса
явная специализация члена
g ++ 3.4.5 принимает этот код: template <typename T> struct A { static const char* const str; }; struct B {}; typedef A<B> C; template<> const char* const C::str = "B"; //
2ответа
4 голоса
Очки последовательности и порядок оценки
Я читал через K & R и наткнулся на этот пример о неопределенности в поведении при оценке выражения вроде a[i]=i++; Спецификация C99 в $ 6.5.2 говорит, что    Между предыдущей и следующей точк
1ответ
4 голоса
Можно ли обнаружить членство в пространстве имен в C ++?
Для типов C ++ заголовок <type_traits> дает нам много полезных возможностей отражения во время компиляции. Например. std::is_base_of<B, D>::value определяет во время компиляции, B это ба
2ответа
4 голоса
C ++ 11: стандартная переменная std ref и не-локальный порядок инициализации thread_local?
Глобальные переменные в C ++ 11 с нетривиальными конструкторами создаются перед входом в main на этапе статической инициализации. Аналогично, не-локально-локальные переменные thread_local создают
3ответа
4 голоса
Где стандарт C ++ 98 указывает, когда вызов статического члена зависит от шаблона?
Компиляция с Clang 3.0 -std = c ++ 98, следующий код принят: template<int> struct I { typedef int Type; }; template<class> struct S { static int f(int); //static int f(int
1ответ
4 голоса
Являются ли элементы массива неполными объектами?
После недавнего вопроса о статической типизации я снова подумал о массивах. Я всегда думал, что элементы массива - это просто обычные объекты, но теперь мне интересно: Являются ли элементы масс
1ответ
4 голоса
Являются ли множественные мутации одной и той же переменной в списках инициализаторов неопределенным поведением до C ++ 11
Рассмотрим следующий код: int main() { int count = 0 ; int arrInt[2] = { count++, count++ } ; return 0 ; } Если мы скомпилируем код, используя clang -std=c++03, он выдаст следующее
1ответ
4 голоса
Допустима ли эта явная специализация функции шаблона шаблона элемента шаблона элемента шаблона класса?
Кто-нибудь знает, является ли эта явная специализация действительной или нет? template <class> struct L { template <typename T> struct O { template <typename U> stati
1ответ
4 голоса
Почему в C ++ 11 есть несколько упоминаний о «прототипах функций»? Конечно, они не существуют в C ++
Стандарт C ++ 11 делает пару упоминаний о «прототипах функций». Нет ни в каких определениях соответствующих функций, но в случайных местах, таких как: «область действия прототипа функции» в [
3ответа
4 голоса
Почему непрозрачное-enum-объявление не является определением?
§3.1 /2 говорит, что непрозрачное-enum-объявление является объявлением, которое не является определением. Тем не менее он занимает место в памяти. Сравните его с определением класса , которое т
1ответ
4 голоса
Глобальные функции распределения и const void *
Представляет ли приведенный ниже код "неопределенное поведение" в соответствии с C ++ 11 (из-за использования const_cast, см. цитату ниже)? const void* p = operator new(123); operator delete(const
1ответ
4 голоса
Почему в Perl строка utf-8 печатается по-разному при разбивании на символы?
Специально созданная строка печатается по-разному, когда я использую print $b; или print for split //, $b; Минимальный пример: #!perl use warnings; use strict; use Encode; my $b = deco
1ответ
4 голоса
Различия в C и C ++ с точками последовательности и UB
Я использовал этот пост Неопределенные точки поведения и точки последовательности для документирования неопределенного поведения ( UB ) в программе C , и мне было указано, что C and C++ have thei
1ответ
4 голоса
Visual C ++ 14 CTP3: ошибка конструктора наследования c ++ 11?
Следующий фрагмент кода прекрасно собирается под Clang 3.4 /3.5 (Xcode 5/6), но выдает ошибку под Visual C ++ 14 CTP3:    1> ------ Начата сборка: Проект: InheritingConstructor, Конфигурация:
3ответа
4 голоса
C ++ разрешение перегрузки, операторы преобразования и const
В этом случае void f(int *); void f(const int *); ... int i; f(&i); Ситуация довольно ясна - вызывается f (int *), что кажется правильным. Однако, если у меня есть это (это было сделано
1 2 3 4 5

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132