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

85
A () = A () - por que ele compila?

class A {}; int main() { A() = A(); return 0; } Por que este código compila? Não deveria haver algum erro que no lado esquerdo do operador de atribuição deve ser colocado lvalue? É A () lvalue? versão g ++ 4.7

85
Por que Math.pow (0, 0) === 1?

Todos nós sabemos que 0 0 é indeterminado. Mas , javascript diz que: Math.pow(0, 0) === 1 // true e C ++ diz a mesma coisa: pow(0, 0) == 1 // true PORQUE? Eu sei disso: >Math.pow(0.001, 0.001) 0.9931160484209338 Mas por que não Math.pow(0, 0)lança nenhum erro? Ou talvez NaNseja...

84
muito tempo em C / C ++

Estou tentando este código no compilador C ++ do GNU e não consigo entender seu comportamento: #include <stdio.h>; int main() { int num1 = 1000000000; long num2 = 1000000000; long long num3; //num3 = 100000000000; long long num4 = ~0; printf("%u %u %u", sizeof(num1), sizeof(num2),...

84
É x + = a mais rápido do que x = x + a?

Eu estava lendo "The C ++ Programming Language" de Stroustrup, onde ele diz que de duas maneiras de adicionar algo a uma variável x = x + a; e x += a; Ele prefere +=porque provavelmente é melhor implementado. Acho que ele quer dizer que funciona mais rápido também. Mas é mesmo? Se...

84
Enum vs enum fortemente tipado

Sou um iniciante em programação C ++. Hoje me deparei com um novo tópico: fortemente tipado enum. Pesquisei um pouco, mas até agora não consigo descobrir por que precisamos disso e para que serve? Por exemplo, se tivermos: enum xyz{a, b, c}; /*a = 0, b = 1, c = 2, (Typical C format)*/ Por...

84
Como definir tipos diferentes para a mesma classe em C ++

Eu gostaria de ter vários tipos que compartilham a mesma implementação, mas ainda são de tipos diferentes em C ++. Para ilustrar minha pergunta com um exemplo simples, gostaria de ter uma aula de Maçãs, Laranjas e Bananas, todas com as mesmas operações e a mesma implementação. Eu gostaria que...

84
std :: dynarray vs std :: vector

C ++ 14 apresenta std::dynarray: std :: dynarray é um contêiner de sequência que encapsula matrizes com um tamanho que é fixo na construção e não muda durante a vida útil do objeto. std::dynarraydeve ser alocado em tempo de execução da mesma forma que std::vector. Então, quais são os...

83
Mudança de C ++ para C

Depois de alguns anos codificando em C ++, recentemente me ofereceram um emprego de codificador em C, na área de embarcados. Deixando de lado a questão de saber se é certo ou errado descartar o C ++ no campo incorporado, há alguns recursos / expressões idiomáticas em C ++ dos quais eu sentiria...