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

C ++ é uma linguagem de programação de uso geral. Foi originalmente projetado como uma extensão para C e tem uma sintaxe semelhante, mas agora é uma linguagem completamente diferente. Use esta tag para perguntas sobre o código (a ser) compilado com um compilador C ++. Use uma tag específica da versão para perguntas relacionadas a uma revisão padrão específica [C ++ 11], [C ++ 14], [C ++ 17] ou [C ++ 20] etc.


2
Como definir vários caminhos de inclusão no Makefile
Novo em C ++; Conhecimento básico de includes, bibliotecas e processo de compilação. Fiz alguns makefiles simples ainda. Meu projeto atual envolve o uso de uma API informix DB e preciso incluir arquivos de cabeçalho em mais de um diretório não padronizado. Como escrever isso? Não encontrei nada na rede, …
96 c++  include  makefile 

11
Erro fatal: “No Target Architecture” no Visual Studio
Quando tento compilar meu projeto c ++ usando o Visual Studio 2010 no modo Win32 ou x64, recebo o seguinte erro: >C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winnt.h(135): fatal error C1189: #error : "No Target Architecture" Minhas definições de pré-processador dizem WIN32; _DEBUG; _CONSOLE;% (PreprocessorDefinitions) O que está causando esse erro e como …

1
Inicialização de membro ao usar o construtor delegado
Comecei a experimentar o padrão C ++ 11 e encontrei esta pergunta que descreve como chamar seu ctor de outro ctor na mesma classe para evitar um método init ou semelhante. Agora estou tentando a mesma coisa com um código parecido com este: hpp: class Tokenizer { public: Tokenizer(); Tokenizer(std::stringstream …

6
Por que usar std :: make_unique em C ++ 17?
Pelo que entendi, C ++ 14 foi introduzido std::make_uniqueporque, como resultado da ordem de avaliação dos parâmetros não ser especificada, isso não era seguro: f(std::unique_ptr<MyClass>(new MyClass(param)), g()); // Syntax A (Explicação: se a avaliação primeiro alocar a memória para o ponteiro bruto, em seguida, chamar g()e uma exceção for lançada …
96 c++  c++17  unique-ptr 


12
Iterando o vetor C ++ do fim ao começo
É possível iterar um vetor do fim ao começo? for (vector<my_class>::iterator i = my_vector.end(); i != my_vector.begin(); /* ?! */ ) { } Ou isso só é possível com algo assim: for (int i = my_vector.size() - 1; i >= 0; --i) { }
96 c++  vector  iterator 

6
Capacidade inicial do vetor em C ++
Qual é o capacity()de um std::vectorque é criado usando o construtor padrão? Eu sei que o size()é zero. Podemos afirmar que um vetor construído padrão não chama a alocação de memória heap? Dessa forma seria possível criar um array com reserva arbitrária usando uma única alocação, como std::vector<int> iv; iv.reserve(2345);. …

4
Substituir '::' por '. criar ambiguidades em C ++?
No C ++, o operador ::é usado para acessar classes, funções e variáveis ​​em um espaço para nome ou classe. Se a especificação de linguagem usada em .vez de ::nesses casos também gostar ao acessar variáveis ​​/ métodos de instância de um objeto, isso causaria possíveis ambiguidades que não estão …





3
O que significa esvaziar o buffer?
Estou aprendendo C ++ e encontrei algo que não consigo entender: Os buffers de saída podem ser liberados explicitamente para forçar a gravação do buffer. Por padrão, a leitura é cinliberada cout; couttambém é liberado quando o programa termina normalmente. Portanto, esvaziando o buffer (por exemplo, um buffer de saída): …
95 c++  input  buffer  output  flush 

5
Posso listar e inicializar um vetor do tipo apenas de movimentação?
Se eu passar o código a seguir por meio de meu instantâneo GCC 4.7, ele tentará copiar os unique_ptrs para o vetor. #include <vector> #include <memory> int main() { using move_only = std::unique_ptr<int>; std::vector<move_only> v { move_only(), move_only(), move_only() }; } Obviamente, isso não pode funcionar porque std::unique_ptrnão é copiável: …

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.