summaryrefslogtreecommitdiffhomepage
path: root/pt-br
diff options
context:
space:
mode:
authorBruno Alano <bruno@appzlab.com>2016-04-28 04:00:16 -0300
committerven <vendethiel@hotmail.fr>2016-04-28 09:00:16 +0200
commit1607f05162da5fa0c19bebf79e9ffee197ee7761 (patch)
tree4a0890204917d0ca168d5f77096f4ded73b2f951 /pt-br
parent05af2a80642f7fc68ac828d0f3a92b2799e641dd (diff)
Added Templates to C++ Tutorial (#1576)
* Created a simple CMake tutorial * Added resources * Added Templates section to C++ tutorial
Diffstat (limited to 'pt-br')
-rw-r--r--pt-br/c++-pt.html.markdown25
1 files changed, 25 insertions, 0 deletions
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<class T>
+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<int>(i,j);
+h=sum<double>(f,g);
+
+// Deste modo, não precisamos fazer overload nas funções! (:
```
Leitura Adicional: