Arquivo de etiquetas: c++

O próximo padrão de C++

Quem quer que já tenha programado em C++, decerto já possui conhecimento suficiente da linguagem e das bibliotecas padrão para ter familiaridade com os seus múltiplos paradigmas. Objectivamente, o C++ é uma linguagem complexa e muito abrangente: permite facilmente programação procedimental (que muitos chamam programar a la C), permite o uso de polimorfismo, tanto dinâmico como estático, e finalmente, permite também metaprogramação. Na realidade, C++ pode ser igualmente utilizado tanto por iniciados como por peritos, possui um certo grau de flexibilidade, uma sintaxe por vezes particularmente dúbia, e de uma curva de aprendizagem desproporcionalmente íngreme para os programadores mais ambiciosos.

São as imperfeições, as limitações, e as potencialidades sub-aproveitadas da linguagem que levam a Comissão do Padrão de C++ a reformá-la quando necessário. Entre as figuras mais proeminentes desta Comissão, encontra-se por exemplo, o autor da linguagem, Bjarne Stroustrup, bem como diversos profissionais de tecnologias de informação que trabalham com, ou para, diversas empresas que ao longo dos anos têm promovido a linguagem e proposto extensões. Para tornar o C++ uma linguagem mais intuitiva e de mais simples aprendizagem, e ao mesmo tempo manter compatibilidade com código existente, eis algumas das muitas interessantes alterações e novas funcionalidades que nos esperam.

Continuar a ler

Metaprogramação em C++

Introdução

Toda a gente que conhece minimamente a linguagem C++ já ouviu falar em templates. O conceito inovador de template foi oficialmente introduzido no standard de implementação em 1998 e trouxe uma lufada de ar fresco, tanto ao C++, como a um número de outras linguagens mais recentes (por exemplo, também linguagens como o Java ou C# foram enriquecidas com as suas próprias técnicas de programação genérica). Neste artigo, iremos rever os templates, bem como as suas propriedades, e explorar algumas das possibilidades raramente consideradas com templates.

Continuar a ler

Algoritmia Clássica em C++

Breve Introdução Histórica

A linguagem C++ foi desenvolvida durante os anos 80 na Bell Labs, pelo cientista de computação dinamarquês Bjarne Stroustrup. Esta linguagem é muitas vezes retratada como uma evolução da linguagem C. De facto, esta linguagem foi a principal base de desenvolvimento de C++, tanto mais que a primeira versão da nova linguagem tinha o nome de C With Classes, evoluindo mais tarde para C++. Em português deve-se pronunciar “cê mais mais” sendo que em inglês esta linguagem é pronunciada como “cee plus plus”.

Continuar a ler

Object Factories

Introdução

Os processos de abstracção e modularidade em programação orientada a objectos, em particular em C++, são facilmente conseguidos através dos conceitos de herança, polimorfismo e métodos virtuais. Na verdade o sistema em runtime é capaz de “despachar” métodos virtuais para os correctos objectos derivados, conseguindo assim executar o código que pretendemos em cada um dos instantes. A literatura referente à programação orientada a objectos é basta em exemplos.

Geralmente quando utilizamos este tipo de técnicas encontramos-nos num estado em que os objectos já estão criados, e dessa forma mantemos referências ou ponteiros que nos servirão para invocar o(s) método(s) desejados.

Continuar a ler