Resultados de la búsqueda a petición "language-lawyer"
¿Se supone que decltype (auto) para un enlace estructurado es una referencia?
Considere un ejemplo: #include <iostream> #include <type_traits> #include <tuple> int main() { auto tup = std::make_tuple(1, 2); auto [ a, b ] = tup; decltype(auto) e = a; std::cout << std::boolalpha << std::is_reference_v<decltype(e)> << ...
constexpr: definición y declaración para miembros constexpr
Si quiero usar algunas cosas de conveniencia comomake_array No tengo oportunidad de declarar mi matriz primero y luego hacer la definición como se hizo en tiempos "anteriores" porque el tipo de mi var no está disponible antes de ...
Plantilla de alias coincidente como argumento de plantilla
Considera elsiguiente código [https://wandbox.org/permlink/XjObkCwtvrkB3Y7R]: #include <type_traits> template<template<class...> class T, class... U> struct is_specialization_of : std::false_type{}; template<template<class...> class T, class... ...
¿Evaluar strlen en tiempo de compilación?
Si mi código tiene estoconstexpr cuerda constexpr char my_str[] = "hello";el tipo demy_str contiene información sobre su tamaño, es decirsizeof(my_str) es una constante 6 y se puede usar en cualquier lugar donde se requiera una constante. Qué ...
Estándar C ++: ¿las variables constexpr con ámbito de espacio de nombres tienen enlace interno?
Imagina que tenemos un encabezadofoo.h que contiene lo siguiente: #ifndef FOO_H_ #define FOO_H_ namespace foo { constexpr std::string_view kSomeString = "blah"; } #endif // FOO_H_Esfoo::kSomeString garantizado tener enlace interno en cualquier ...
¿Es `std :: array <T, 0>` construible por defecto donde `T` no es construible por defecto?
Considere el siguiente código: #include <array> struct T { T() = delete; }; int main() { std::array<T, 0> a; a.size(); }Inicializamos por defecto una matriz de tamaño 0. Como no hay elementos, no hay constructor deT debe ser llamado Sin ...
¿Es posible la referencia nula?
¿Es válido este fragmento de código (y un comportamiento definido)? int &nullReference = *(int*)0;Tanto g ++ como clang ++ lo compilan sin previo aviso, incluso cuando se usa-Wall, -Wextra, -std=c++98, -pedantic, -Weffc++... Por supuesto, la ...
¿Puede el compilador explotar la optimización de base vacía si la clase contiene un miembro de la clase base?
Considerar struct base {}; struct child : base {};Es bien sabido quesizeof(child) puede ser 1 mediante la aplicación deoptimización de base vacía. Ahora, sin embargo, considere struct base {}; struct child : base {base b;};¿Puede el compilador ...
¿Es ... foo un operador o una sintaxis?
He oído... referido a ambos como 'propagaciónsintaxis'y' la propagaciónoperador', siendo este último mucho más popular. La URL de la relevanteDocumentación de ...
¿Existe una regla especial para lambda en caso de decltype (auto)?
Si entendí correctamenteesta respuesta [https://stackoverflow.com/a/44701336/4324224]y sección estándar referenciada [dcl.type.auto.deduct-5] [http://eel.is/c++draft/dcl.spec.auto#dcl.type.auto.deduct-5], el código: decltype(auto) a = e;siempre ...