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

17
Enumeração contínua C ++ 11

Existe uma maneira de verificar no C ++ 11 se uma enumeração é contínua ? É totalmente válido fornecer valores de enumeração que não são. Existe talvez um recurso como um traço de tipo em C ++ 14, C ++ 17 ou C ++ 20 para verificar se o enum é contínuo? Isso deve ser usado em um static_assert. Um...

14
Por que a dimensão de uma matriz faz parte de seu tipo?

Ao ler o livro C ++ Primer, deparei-me com esta declaração: "O número de elementos em uma matriz faz parte do tipo da matriz". Então, eu queria descobrir usando o seguinte código: #include<iostream> int main() { char Array1[]{'H', 'e', 'l', 'p'}; char Array2[]{'P', 'l', 'e', 'a', 's',...

13
Possível bug do compilador no MSVC

O código a seguir é compilado com gcc e clang (e muitos outros compiladores C ++ 11) #include <stdint.h> typedef int datatype; template <typename T> struct to_datatype {}; template <> struct to_datatype<int16_t> { static constexpr datatype value = 1; }; template...

11
Como descobrir quais funções o compilador gerou?

Conheço as funções geradas pelo compilador, a regra de três e a regra de cinco. Em cenários do mundo real, pode não ser trivial descobrir exatamente quais funções geradas pelo compilador (construtores, operadores de atribuição, destruidor) foram realmente criadas pelo compilador. Existe alguma...