Jump to content
Fórum Script Brasil
  • 0

Duvidas básicas de otimização em c++


ded3

Question

Eu comecei a estudar C++ recentemente e encontrei algumas dúvidas com relação ao que seria melhor usar em um código...

Duvida 1:

Qual é a diferença entre usar:

int FuncA() {
...
}
ou usar:
int FuncA(void) {
...
}
Duvida 2: Existe alguma diferença no peso do #define e no uso de const? Alguma diferença na aplicação de ambas? Duvida 3: É melhor usar:
using namespace std;

cout << "oi" << endl;
ou é melhor usar:
std::cout << "oi" << std::endl;
(foi só um exemplo de uso de std, mas a duvida mesmo é no geral, pra todas as funções que usem ele) Duvida 4: Gostaria de saber se exite alguma diferença no processamento de strings nesses 2 casos:
cout << string1 << string2 << endl;
E:
cout << string1 + string2 << endl;
Duvida 5: Gostaria de saber qual desses 2 códigos seria mais leve:
if(x != 100){
  if(x < 10) func;
  else if(x < 30) func2;
  else if(x < 80) func3;
  else func4;
}
Ou:
if(x == 100);
else if(x < 10) func;
else if(x < 30) func2;
else if(x < 80) func3;
else func4;
Duvida 6: Existe alguma diferença no peso da operação, quando os valores são mais altos? por exemplo:
x = x*900/1000;
E:
x = x*9/10;
Duvida 7: O uso de conversões pesa mais do que operações matemáticas a mais? por exemplo:
x = (int)(y/2. + z/5.);
Ou:
x = (5*y + 2*z)/10;
Qual desses dois seria melhor? Duvida 8: Existe alguma diferença no peso de uma multiplicação e de uma divisão no caso de double/floats? por exemplo:
x = (y/2. + z/5.);
Ou
x = 0.5*y + 0.2*z;

Duvida 9:

Qual tipo de variável é mais vantajoso usar? Por exemplo, temos um valor que não ultrapassa o valor máximo de um int16, mas eu estou usando um sistema de 32 bits. Uma vez eu li que se um processador de 32 bits roda um int16, ele faz todo o processo em int32 para depois converter em int16, tornando a execução mais lenta, isso realmente ocorre? nesse caso, seria mais vantajoso usar o int16 por usar menos memória, ou o int32 por ser executado mais rapidamente pelo processador?

Desculpe o tanto de perguntas, mas são dúvidas que eu tenho já há algum tempo x.x

Edited by ded3
Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0

Acredito que estes códigos não resultam em diferenca nenhuma em questão de otimizacao... Provavelmente o desempenho será o mesmo, é mais questõa que preferencia ao programar(questao de gosto).

Muitos códigos são otimizados diretamente pelo compilador, e até mesmo pelo processador.

Espero ter ajudado

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652.1k
×
×
  • Create New...