Biblioteca de modelos padrão

Como uma biblioteca de modelo padrão ( STL ) diferente na linguagem de programação C ++ bibliotecas escritas referidas.

Originalmente, a Biblioteca de Modelos Padrão era uma biblioteca C ++ desenvolvida pela Hewlett-Packard (abreviação HP ) na década de 1980 , que era amplamente baseada em programação genérica com foco em estruturas de dados e algoritmos . Essa biblioteca influenciou significativamente a chamada biblioteca padrão C ++ , que agora é parte integrante da linguagem de programação C ++.

Emergência

O STL desenvolvido pela HP remonta a raízes muito antigas. Já em 1971 , surgiram os primeiros rascunhos de bibliotecas genéricas de Dave Musser. Em 1979 , Alexander Stepanov começou a desenvolver suas idéias neste campo. No entanto, ele não foi implementado em uma linguagem de programação principal até 1987 com a linguagem de programação Ada .

Stepanow e Meng Lee , então funcionários da Hewlett-Packard, chamaram a biblioteca de programas que desenvolveram de STL . Esta biblioteca mais tarde tornou-se de domínio público . Então, em 1993 , em um momento em que C ++ ainda estava em um estágio inicial de desenvolvimento, eles apresentaram a biblioteca ao comitê de padronização de C ++, que ao longo do tempo elaborou uma proposta concreta para inclusão na linguagem de programação C ++, o que acabou levando a Led de integração.

Stepanow mais tarde mudou para a Silicon Graphics ( SGI para abreviar ) e continuou trabalhando em sua biblioteca.

Referência à biblioteca padrão C ++

Grande parte da atual biblioteca padrão C ++ vem do STL em sua versão desenvolvida pela HP a partir de 1993, mas difere dela em vários detalhes. Por esse motivo, não é possível nomear um subconjunto da biblioteca padrão C ++ como STL . A versão do STL naquela época também não continha cadeias de caracteres nem fluxos de dados de entrada / saída. O termo STL não aparece no padrão C ++ .

Várias bibliotecas chamadas STL

Extraoficialmente, o nome STL é amplamente utilizado. No entanto, as diferentes ideias sobre o significado deste termo às vezes levam a mal-entendidos. Na SGI, por exemplo, “STL” significa a biblioteca publicada ali, que por sua vez difere muito da versão desenvolvida na HP.

Não existe uma biblioteca chamada STL conforme definido por padrões nacionais ou internacionais . As ideias do STL foram incluídas pela primeira vez no então padrão C ++ 98 na Biblioteca de Padrões C ++ em 1998 e têm aumentado constantemente desde então (C ++ 03, C ++ 11, C ++ 14, C ++ 17, C ++ 20) mais desenvolvido.

As seguintes bibliotecas que são independentes da biblioteca padrão C ++ são chamadas de STL ou têm o componente STL em seu nome:

  • a biblioteca STL original desenvolvida pela HP (desenvolvimento descontinuado)
  • o STL mantido pela Silicon Graphics ; muito expandido em comparação com o HP-STL; contém mais ou menos a biblioteca padrão C ++, com exceção das bibliotecas herdadas de C; Além disso, extensões como mapas hash , que não foram adotados no padrão, bem como ropeum tipo de dados para processamento mais eficiente de strings muito longas (desenvolvimento descontinuado)
  • a biblioteca gratuita STLport ; foi por um tempo uma espécie de alternativa à biblioteca padrão C ++
  • uma biblioteca .NET chamada STL / CLI ; foi desenvolvido para aproveitar as extensões de linguagem introduzidas com C ++ / CLI ; não pode ser compilado com compiladores C ++ padrão

Links da web