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.

3
Posso usar std :: transform no lugar com uma política de execução paralela?
Se não me engano, eu posso fazer std::transformexecutar no lugar usando a mesma faixa como um iterador de entrada e saída. Suponha que eu tenha algum std::vectorobjeto vec, então eu escreveria std::transform(vec.cbegin(),vec.cend(),vec.begin(),unary_op) usando uma operação unária adequada unary_op. Usando o padrão C ++ 17, eu gostaria de executar a transformação …

1
Acesse um membro em uma estrutura por meio de uma variável em C ++
Eu tenho uma estrutura com dois membros, por exemplo: struct DataSet { int x; int y; }; ... e eu tenho que acessar aqueles em um método, mas apenas um de cada vez, por exemplo: void foo(StructMember dsm) { // ("StructMember" does not exist) DataSet ds; ds.x = 4; ds.y …
10 c++ 

7
Apagar () um elemento em um vetor não funciona
Eu tenho um vetor Eu preciso excluir os três últimos elementos nele. Descreveu essa lógica. O programa trava. Qual poderia ser o erro? vector<float>::iterator d = X.end(); for (size_t i = 1; i < 3; i++) { if (i == 1) X.erase(d); else X.erase(d - i); }
10 c++  vector 

2
Dedução de tipos de argumento do modelo C ++
Eu tenho um código que localiza e imprime correspondências de um padrão como passando por cima do contêiner de strings. A impressão é realizada na função foo que é templated O código #include <iostream> #include <algorithm> #include <iterator> #include <vector> #include <string> #include <tuple> #include <utility> template<typename Iterator, template<typename> class …

1
Por que std :: span não possui operadores de comparação?
Não foi std::spanconcebido como uma referência leve para sub-regiões de std::vector/ std::array/ array simples e similares? Ele também não deve conter operadores de comparação em sua API, para ser consistente com eles? Qual foi o raciocínio por trás da exclusão? Nota: por operadores de comparação, quero dizer quer o conjunto …
10 c++  std  c++20  std-span 




3
O nullptr pode ser convertido em uintptr_t? Compiladores diferentes discordam
Considere este programa: #include <cstdint> using my_time_t = uintptr_t; int main() { const my_time_t t = my_time_t(nullptr); } Falha ao compilar com o msvc v19.24: <source>(5): error C2440: '<function-style-cast>': cannot convert from 'nullptr' to 'my_time_t' <source>(5): note: A native nullptr can only be converted to bool or, using reinterpret_cast, to …
10 c++  c++11  gcc  visual-c++  clang 


1
Problema no GCC / C ++ 17 com classe de modelo de modelo
Considere as 2 seguintes sobrecargas template<typename T> bool test() { return true; } template<template<typename ...> class T> bool test() { return false; } O primeiro trabalha para classes regulares, enquanto o segundo trabalha para modelos que não são instanciados. Por exemplo: std::cout<<test<int>()<<std::endl; <-- this yields 1 std::cout<<test<std::list>()<<std::endl; <--this yields 0 …
10 c++  templates  gcc  clang  c++17 

4
Por que retornar NULL de main ()?
Às vezes, vejo codificadores que usam NULLcomo valor de retorno main()nos programas C e C ++, por exemplo, algo assim: #include <stdio.h> int main() { printf("HelloWorld!"); return NULL; } Ao compilar esse código com o gcc, recebo o aviso de: aviso: return torna inteiro do ponteiro sem conversão [-Wint-conversion] o …
10 c++  c  null  return  return-value 


1
Seremos capazes de construir contêineres com visualizações em C ++ 20?
As faixas estão chegando ao C ++ com a versão padrão do C ++ 20. Minha pergunta: Seremos capazes de construir contêineres de biblioteca padrão (existentes) com qualquer intervalo? E mais importante, com vistas de alcance? Por exemplo, isso será: #include <vector> #include <iostream> #include <ranges> int main() { auto …
10 c++  c++20  range-v3 

1
Vazamento de memória durante a exceção unordered_map :: insert KeyEqual no GCC - quebrando a forte garantia de segurança de exceções?
Estou usando o GCC 7.3.1, mas também testei no coliru, que acredito ser a versão 9.2.0. Crie com o seguinte: g++ -fsanitize=address -fno-omit-frame-pointer rai.cpp Aqui está rai.cpp: #include <iostream> #include <unordered_map> int main() { try { struct MyComp { bool operator()(const std::string&, const std::string&) const { throw std::runtime_error("Nonono"); } }; …

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.