standard - style guides c++




Extensão de arquivo de código C++?.cc vs.cpp (12)

Ótimos conselhos sobre quais usar para o makefile e outras ferramentas, considerando as ferramentas que não são de compilador, enquanto decidem qual extensão usar é uma ótima abordagem para ajudar a encontrar uma resposta que funcione para você.

Eu só queria adicionar o seguinte para ajudar com algumas informações de .cc vs. .cpp que eu encontrei. A seguir, extensões são divididas por diferentes ambientes (do livro "C ++ Primer Plus"):

Unix usa: .C , .cc , .cxx , .c

O GNU C ++ usa: .C , .cc , .cxx , .cpp , .c++

Digital Mars usa: .cpp , .cxx

Borland C ++ usa: .cpp

Watcom usa: .cpp

Microsoft Visual C ++ usa: .cpp , .cxx , .cc

O Metrowerks CodeWarrior usa: .cpp , .cp , .cc , .cxx , .c++

Os diferentes ambientes suportam extensões diferentes. Eu também estava olhando para responder a esta pergunta e encontrei este post. Com base nesse post, acho que posso usar o .hpp e .cpp para facilitar o reconhecimento de várias plataformas / ferramentas cruzadas.

Eu vi o código C ++ salvo como arquivos .cc e .cpp . Existe uma diferença entre os dois?

O guia de estilo do Google parece sugerir .cc , mas não fornece nenhuma explicação.

Estou principalmente preocupado com programas em sistemas Linux.



Basta seguir a convenção usada pelo projeto / equipe.


Como na maioria das convenções de estilo, existem apenas duas coisas que importam:

  1. Seja consistente no que você usa, sempre que possível.
  2. Não crie nada que dependa de uma escolha específica sendo usada.

Aqueles podem parecer contraditórios, mas cada um deles tem valor por suas próprias razões.


Eu pessoalmente nunca vi .cc em qualquer projeto que eu trabalhei, mas com toda a tecnicalidade o compilador não se importará.

Quem vai se importar é com os desenvolvedores trabalhando em sua fonte, então minha regra é ir com o que sua equipe está confortável. Se o seu "time" é a comunidade de código aberto, escolha algo muito comum, do qual o .cpp parece ser o favorito.


Eu pessoalmente uso extensão .cc para arquivos de implementação, .hh para cabeçalhos e .inl para inline / templates.

Como dito antes, é principalmente uma questão de gosto.

Pelo que eu vi , o .cc parece ser mais " orientado a projetos de código aberto ", como é aconselhado em alguns grandes estilos de codificação de software de código aberto, enquanto. cpp parece ser mais Windowish.

--- EDIT

Como mencionado, isso é "do que eu vi" , pode estar errado. É só que todos os projetos do Windows em que trabalhei usaram .cpp , e muitos projetos de código aberto (que são principalmente baseados em unix) usam .cc .

Exemplos de estilos de codificação usando .cc :


Não importa qual dessas extensões você usaria. Escolha o que você quiser mais, apenas seja consistente com a nomeação. A única exceção que conheço com essa convenção de nomenclatura é que não consegui criar o WinDDK (ou é o WDK agora?) Para compilar arquivos .cc . No Linux, isso dificilmente é um problema.


No final do dia, não importa, porque os compiladores de C ++ podem lidar com os arquivos em qualquer formato. Se é um problema real dentro da sua equipe, jogue uma moeda e vá para o trabalho real.


Outras extensões de arquivo usadas incluem .cxx e .C (capital C). Eu acredito que Bjarne Stroustrup usou .C originalmente. .cpp é o nome do pré-processador de C, então é lamentável que ele tenha sido usado para C ++ também.


Várias pessoas dizendo .cc não representa nada? Pode ser. C ++ começou a vida como "C com Classes".

É verdade que .cc e .cpp também são nomes de comando na maioria dos sistemas Unix (compilador c e pré-processador c respectivamente).

Eu uso exclusivamente .cpp , mas comecei no Windows. .cc é mais uma convenção Unix, embora eu veja cada vez menos. O GNU make tem regras para .cpp modo que é preferível que funcione por padrão no Windows e em todo o resto. Por outro lado, o C ++ moderno não usa nenhuma extensão para cabeçalhos, eu realmente não gosto disso. Todos os meus projetos usam .h para arquivos de cabeçalho, e eles suportam C e C ++ tanto quanto possível via extern "C" e testando __cplusplus .


.C e .cc parecem ser padrão para os (poucos) programas C ++ orientados para Unix que vi. Eu sempre usei .cpp , já que eu só trabalho no Windows e tem sido o padrão desde sempre.

Eu recomendo .cpp pessoalmente, porque ... significa "C Plus Plus". É claro que é vital que as extensões de arquivos sejam siglas, mas se este raciocínio for insuficientemente convincente, outras coisas importantes são o não uso da chave shift (que descarta .C e .c++ ) e a evitação de metacaracteres de expressão regular quando possível (o que exclui .c++ - infelizmente você não pode realmente evitar o . claro.).

Isso não exclui .cc , então, mesmo que não seja nada (ou não?), Provavelmente é uma boa escolha para código orientado ao Linux.


.cpp é a extensão recomendada para o C ++, tanto quanto eu sei. Algumas pessoas até recomendam o uso de .hpp para cabeçalhos C ++, apenas para diferenciar de C.

Embora o compilador não se importe com o que você faz, é uma preferência pessoal.





filenames