Como usar o recurso autoincrement / autodecrement em c ++

Video: C# Tutorial - Auto Increment Version Number | FoxLearn

programadores C ++ muitas vezes usar o autoincrement ++ ou o autodecrement - - operadores com loops que contam alguma coisa. Note a partir do seguinte fragmento extraído do WhileDemo exemplo, que o programa diminui a contagem de loop usando atribuição e subtração declarações, como este:

// agora loop que muitos timeswhile (nLoopCount gt; 0) {nLoopCount = nLoopCount - 1-cout lt; lt; "Somente " lt; lt; nLoopCountlt; lt; " loops para ir" lt; lt; endl-}

Uma versão mais compacta usa o autodecrement característica, que faz o que você pode imaginar:

enquanto (nLoopCount gt; 0) {nLoopCount --- cout lt; lt; "Somente " lt; lt; nLoopCountlt; lt; " loops para ir" lt; lt; endl-}

A lógica desta versão é o mesmo que no original. A única diferença é a maneira que nLoopCount é decrementado.

Video: Auto Generate Unique ID in Asp.net by Using C# Coding



Porque o autodecrement tanto diminui seu argumento e retorna o seu valor, o funcionamento decremento pode ser combinado com o enquanto ciclo. Em particular, a seguinte versão é ainda o menor loop:

enquanto (nLoopCount-- gt; 0) {cout lt; lt; "Somente " lt; lt; nLoopCountlt; lt; " loops para ir" lt; lt; endl-}

Acredite ou não, nLoopcount- gt; 0 é a versão que a maioria dos programadores C ++ usaria. Não é que C ++ programadores gostam de ser bonito (embora eles fazem). Na verdade, a versão mais compacta (que incorpora o recurso autoincrement ou autodecrement na comparação lógica) é mais fácil de ler, especialmente à medida que ganhar experiência.

Ambos nLoopCount- e -nLoopCount expressões decrement nLoopCount. A expressão anterior, no entanto, devolve o valor de nLoopCount antes de ser decremented- a última expressão fá-lo depois de ter sido decrementada.

Quantas vezes deve a versão autodecrement de WhileDemo executar quando o utilizador introduz uma contagem de malha de 1? Se você usar a versão pré-decremento, o valor de -nLoopCount é 0, eo corpo do loop nunca é inserida. Com a versão pós-decremento, o valor de nLoopCount é 1, e controlo entra no lacete.

Cuidado pensando que a versão do programa com o comando autodecrement executa mais rapidamente do que a simples “- 1” versão (uma vez que contém menos declarações). Provavelmente executa exatamente o mesmo. compiladores modernos são bons em conseguir o número de instruções em linguagem de máquina até um mínimo, não importa qual das instruções decréscimo mostrados aqui você realmente usa.


Publicações relacionadas