Perguntas com a marcação «c++»

Perguntas sobre C ++, uma linguagem de programação de propósito geral, compilada estaticamente, de formato livre, com vários paradigmas.

6
A função invalida inadvertidamente o parâmetro de referência - o que deu errado?
Hoje descobrimos a causa de um bug desagradável que só acontecia intermitentemente em determinadas plataformas. Resumindo, nosso código ficou assim: class Foo { map<string,string> m; void A(const string& key) { m.erase(key); cout << "Erased: " << key; // oops } void B() { while (!m.empty()) { auto toDelete = m.begin(); …
54 c++ 

10
Por que a palavra-chave 'final' seria útil?
Parece que o Java teve o poder de declarar classes não deriváveis ​​por eras, e agora o C ++ também. No entanto, à luz do princípio Abrir / Fechar no SOLID, por que isso seria útil? Para mim, a finalpalavra - chave soa exatamente como friend- é legal, mas se …
54 java  c++  solid  final 


8
O que acontece com o lixo em C ++?
Java tem um GC automático que de vez em quando para o mundo, mas cuida do lixo em uma pilha. Agora, os aplicativos C / C ++ não têm esses congelamentos do STW; o uso de memória também não aumenta infinitamente. Como esse comportamento é alcançado? Como são tratados os …



3
C ++ fortemente tipado typedef
Eu tenho tentado pensar em uma maneira de declarar typedefs fortemente tipados, para capturar uma certa classe de bugs no estágio de compilação. Geralmente, digito um int em vários tipos de IDs ou um vetor para posição ou velocidade: typedef int EntityID; typedef int ModelID; typedef Vector3 Position; typedef Vector3 …
50 c++  c++11  type-safety 

5
Por que todas as funções <algorithm> usam apenas intervalos, não contêineres?
Existem muitas funções úteis &lt;algorithm&gt;, mas todas elas operam em "sequências" - pares de iteradores. Por exemplo, se eu tenho um container e gostaria de rodar std::accumulatenele, preciso escrever: std::vector&lt;int&gt; myContainer = ...; int sum = std::accumulate(myContainer.begin(), myContainer.end(), 0); Quando tudo que pretendo fazer é: int sum = std::accumulate(myContainer, 0); …


9
Explicação sobre como “Diga, Não Pergunte” é considerado bom OO
Este post do blog foi publicado no Hacker News com vários upvotes. Vindo do C ++, a maioria desses exemplos parece ir contra o que aprendi. Como no exemplo 2: Ruim: def check_for_overheating(system_monitor) if system_monitor.temperature &gt; 100 system_monitor.sound_alarms end end versus bom: system_monitor.check_for_overheating class SystemMonitor def check_for_overheating if temperature &gt; …

2
As bibliotecas apenas de cabeçalho são mais eficientes?
Premissas Uma das vantagens das bibliotecas somente de cabeçalho para C ++ é que elas não precisam ser compiladas separadamente. Em C e C ++ inline, só faz sentido se a função estiver definida em um arquivo de cabeçalho *. Tradicionalmente, em C, o layout .c / .h é usado, …
48 c++  c  libraries 

8
Quando NÃO usar destruidores virtuais?
Eu acreditava ter pesquisado muitas vezes sobre destruidores virtuais, a maioria menciona o propósito de destruidores virtuais e por que você precisa de destruidores virtuais. Também acho que na maioria dos casos os destruidores precisam ser virtuais. Então a pergunta é: Por que o c ++ não define todos os …



3
Desenvolvimento Android usando C e C ++ [fechado]
Sou desenvolvedor C, C ++. Estou interessado em desenvolvimento móvel. Quero saber como posso desenvolver aplicativos Android usando C e C ++. Li que eles estão fornecendo um kit para desenvolvedores de C, C ++, mas ele não tem todas as funções do kit Java. Devo optar pelo kit de …
47 c++  c  android 

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.