Programar em C++/Templates: diferenças entre revisões

[revisão pendente][revisão pendente]
Conteúdo apagado Conteúdo adicionado
m <source> -> <syntaxhighlight> (phab:T237267)
 
Linha 4:
 
== Funções genéricas ==
<sourcesyntaxhighlight lang="cpp">
template <class Ttype> ret-type func-name(parameter list)
{
// body of function
}
</syntaxhighlight>
</source>
vamos dar o exemplo
<sourcesyntaxhighlight lang="cpp">
// Function template example.
#include <iostream>
Linha 39:
return 0;
}
</syntaxhighlight>
</source>
Aqui criamos uma template para uma função que troca os valores, e essa função pode ser usada quer tendo ints, doubles ou chars. nós utilizamos o X como data type.
neste caso temos swapargs() como uma função genérica.
Linha 49:
 
há quem prefira ter a declaração do template da seguinte forma
<sourcesyntaxhighlight lang="cpp">
template <class X>
void swapargs(X &a, X &b)// This is a function template.
Linha 58:
b = temp;
}
</syntaxhighlight>
</source>
 
O que se torna bem parecido com o modelo utilizado anteriormente.
 
Uma função com dois tipos genéricos:
<sourcesyntaxhighlight lang="cpp">
#include <iostream>
using namespace std;
Linha 78:
return 0;
}
</syntaxhighlight>
</source>
 
Repare que temos dois tipos de dados diferentes na mesma função.