Articles of padrões

Devo usar char ** argv ou char * argv em C?

Eu só estou aprendendo C e queria saber qual desses eu deveria usar no meu método principal. Existe alguma diferença? Edit: Então, qual é o mais comum de usar?

Como determinar a versão do padrão C ++ usado pelo compilador?

Como você determina qual versão do padrão C ++ é implementada pelo seu compilador? Tanto quanto eu sei, abaixo estão os padrões que eu conheço: C ++ 03 C ++ 98

Os compiladores podem eliminar loops infinitos?

Pode otimizar o compilador excluir loops infinitos, que não altera nenhum dado, como while(1) /* noop */; Da análise de um compilador de gráfico de stream de dados pode derivar, que esse loop é “código morto” sem efeitos colaterais. A exclusão de loops infinitos é proibida pelos padrões C90 / C99? Os padrões C90 ou […]

Acesso unidimensional a um array multidimensional: é um comportamento bem definido?

Eu imagino que todos nós concordamos que é considerado C idiomático para acessar um verdadeiro array multidimensional, desreferenciando um ponteiro (possivelmente offset) para o seu primeiro elemento de uma forma unidimensional, por exemplo: void clearBottomRightElement(int *array, int M, int N) { array[M*N-1] = 0; // Pretend the array is one-dimensional } int mtx[5][3]; … clearBottomRightElement(&mtx[0][0], […]

Diferença entre void main e int main?

Importa de que maneira eu declaro meus programas em C ++?

Quais são os novos resources do C ++ 17?

O C ++ 17 agora está completo, portanto, é improvável que ocorram grandes mudanças. Foram apresentadas centenas de propostas para o C ++ 17. Quais desses resources foram adicionados ao C ++ em C ++ 17? Ao usar um compilador C ++ que suporte “C ++ 1z”, quais desses resources estarão disponíveis quando o compilador […]

São declarações compostas (blocos) cercadas por expressões parens em ANSI C?

Navegando pelas fonts do kernel do Linux, encontrei uma parte do código em que um bloco de instruções cercado por parênteses é tratado como uma expressão a la lisp (ou ML), ou seja, uma expressão cujo valor é o valor da última instrução. Por exemplo: int a = ({ int i; int t = 1; […]

Ordem de avaliação nos parâmetros da function C ++

Se temos três funções (foo, bar e baz) que são compostas assim … foo(bar(), baz()) Existe alguma garantia pelo padrão C ++ de que a barra será avaliada antes do baz?

Quais são as regras sobre o uso de um sublinhado em um identificador de C ++?

É comum em C ++ nomear variables ​​de membro com algum tipo de prefixo para denotar o fato de que são variables ​​de membro, em vez de variables ​​ou parâmetros locais. Se você veio de um fundo MFC, você provavelmente usará m_foo . Eu também vi myFoo ocasionalmente. C # (ou possivelmente apenas .NET) parece […]

Onde encontro os documentos padrão C ou C ++ atuais?

Para muitas perguntas, a resposta parece ser encontrada no “padrão”. No entanto, onde encontramos isso? De preferência online. Às vezes, o Google pode parecer inútil, novamente especialmente para os padrões C, já que eles se afogam na enxurrada de discussões em fóruns de programação. Para começar, já que esses são os que estou procurando agora, […]