Perguntas com a marcação «c++»

C ++ é uma linguagem de programação de uso geral. Foi originalmente projetado como uma extensão para C e tem uma sintaxe semelhante, mas agora é uma linguagem completamente diferente. Use esta tag para perguntas sobre o código (a ser) compilado com um compilador C ++. Use uma tag específica da versão para perguntas relacionadas a uma revisão padrão específica [C ++ 11], [C ++ 14], [C ++ 17] ou [C ++ 20] etc.

1
SFINAE usando VoidT com diferentes compiladores leva a resultados diferentes
Considere o seguinte código: template <typename T> using VoidT = void; class A { public: using TEST = int; }; class C { public: using DIFFERENT = int; }; template <typename T, typename Enable = void> class B { public: B() = delete; }; template <typename T> class B<T, VoidT<typename …
10 c++ 





2
Construir exceções padrão com argumento de ponteiro nulo e pós-condições impossíveis
Considere o seguinte programa: #include<stdexcept> #include<iostream> int main() { try { throw std::range_error(nullptr); } catch(const std::range_error&) { std::cout << "Caught!\n"; } } GCC e Clang com chamada libstdc ++ std::terminatee aborte o programa com a mensagem terminate called after throwing an instance of 'std::logic_error' what(): basic_string::_S_construct null not valid Clang …

2
Posso retornar uma tubulação temporária para uma operação de alcance?
Suponha que eu tenha uma generate_my_rangeclasse que modela a range(em particular, é regular). Então, o seguinte código está correto: auto generate_my_range(int some_param) { auto my_transform_op = [](const auto& x){ return do_sth(x); }; return my_custom_rng_gen(some_param) | ranges::views::transform(my_transform_op); } auto cells = generate_my_range(10) | ranges::to<std::vector>; É my_custom_rng_gen(some_param)valorizada pelo (primeiro) operador de tubulação …
9 c++  range-v3 

2
Quais espaços de nome existem e quais são as regras?
Nota: esta questão é sobre name space, não namespace. O padrão C ++ tem algumas referências a name space, mas não vejo a definição disso. Os padrões dizem que rótulos e macros estão em diferentes espaços de nome. Todas as outras referências name spaceestão na seção de compatibilidade com C …
9 c++  namespaces 



1
Criação de objeto implícito não especificado
Como a criação implícita de objetos P0593 para manipulação de objetos de baixo nível foi aceita, agora os objetos podem ser criados implicitamente no C ++ 20. Especificamente, o texto introduzido pela proposta permite que certas operações (como std::malloc) criem e iniciem automaticamente a vida útil de objetos de certos …





Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.