From 1607f05162da5fa0c19bebf79e9ffee197ee7761 Mon Sep 17 00:00:00 2001 From: Bruno Alano Date: Thu, 28 Apr 2016 04:00:16 -0300 Subject: Added Templates to C++ Tutorial (#1576) * Created a simple CMake tutorial * Added resources * Added Templates section to C++ tutorial --- pt-br/c++-pt.html.markdown | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'pt-br') diff --git a/pt-br/c++-pt.html.markdown b/pt-br/c++-pt.html.markdown index 61e267f5..31a3110c 100644 --- a/pt-br/c++-pt.html.markdown +++ b/pt-br/c++-pt.html.markdown @@ -581,6 +581,31 @@ void doSomethingWithAFile(const std::string& filename) // vetor (i.e. array de autodimensionamento), mapas hash, e assim por diante // tudo é automaticamente destruído quando eles saem de escopo // - Mutex usa lock_guard e unique_lock + + +///////////////////// +// Templates +///////////////////// + +// Templates em C++ são utilizados para programação genérica, ou seja, +// utilizar um tipo de dado genérico onde possa suportar qualquer entrada. +// Por exemplo, invés de criar uma função que apenas some inteiros, você +// poderá fazer uma função que soma double, float e inteiros em uma única +// definição para reutilizar código. + +// Definimos um função que utiliza um "typename" +template +T soma(T a, T b) { + return A + B; +} + +// E agora para executá-la +int i=5, j=6, k; +double f=2.0, g=0.5, h; +k=sum(i,j); +h=sum(f,g); + +// Deste modo, não precisamos fazer overload nas funções! (: ``` Leitura Adicional: -- cgit v1.2.3