Resultados da pesquisa a pedido "language-lawyer"
O reinterpret_cast (ou qualquer conversão) converte xvalues em lvalues?
O código a seguir é legal (pelos padrões C ++ 11 e / ou C ++ 14)? #include <iostream> #include <utility> using namespace std; void foo(int &a) { cout << a << endl; } int main() { foo(reinterpret_cast<int &>(move(5))); } Se sim, é um ...
Como é o layout de memória de uma classe versus uma estrutura
Eu venho da programação C, onde os dados em uma estrutura são dispostos com a variável top primeiro, depois a segunda, terceira e assim por diante .. Agora estou programando em C ++ e, em vez disso, estou usando uma classe. Basicamente, quero ...
A inicialização de valor funciona para objetos atômicos?
Portrabalhos aqui, entendo isso comostd::atomic<T> a{} efetivamente zero inicializaa. Eu sempre pensei assim e praticamente o uso ...
Sum +++ é um comportamento indefinido em C? [duplicado]
Esta pergunta já tem uma resposta aqui: Por que um +++++ b não funciona? [/questions/5341202/why-doesnt-ab-work] 8 respostasTestei isso em máquinas diferentes e em compiladores diferentes, mas dei a mesma saída: int sum = 10, i = 5; ...
Por que tenho permissão para declarar um objeto com um destruidor excluído?
Considere o seguinte texto: [C++11: 12.4/11]: Destrutores são chamados implicitamente para objetos construídos com duração de armazenamento estático (3.7.1) na finalização do programa (3.6.3),para objetos construídos com duração ...
Palavra-chave "inline" vs conceito "inlining"
Estou fazendo esta pergunta básica para corrigir os registros. Se referiramessa questão [https://stackoverflow.com/questions/1932311/when-to-use-inline-function-and-when-not-to-use-it] esua resposta atualmente aceita ...
Isso realmente quebra as regras de alias estrito?
Ao compilar esse código de exemplo usando g ++, recebo este aviso: aviso: desmarcando o ponteiro puncionado por tipo violará regras de alias estrito[-Wstrict-aliasing] O código: #include <iostream> int main() { alignas(int) char ...
É bem definido converter xvalues em lvalues para passar para funções?
Recentemente eu descobri [https://stackoverflow.com/q/26793072/1000282]que às vezes é capaz de transformar valorestemporariamente em lvalues pode ser útil para mim. Eu tenho usado a seguinte ferramenta: #include <type_traits> template <typename ...
Sintaxe alternativa para loop [duplicado]
Esta pergunta já tem uma resposta aqui: Existe uma maneira de criar um loop for com apenas duas expressões em C? [/questions/23168997/is-there-a-way-to-create-a-for-loop-with-only-two-expressions-in-c] 1 respostaAbaixo está um trecho do padrão ...
Por que `std :: initializer_list` não é definido como um tipo literal?
Este é um acompanhamento desta pergunta:É legal declarar um objeto constexpr initializer_list? [https://stackoverflow.com/questions/16063123/is-it-legal-to-declare-a-constexpr-initializer-list-object] . Desde o C ++ 14, ostd::initializer_list ...