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
O programa multithreading travou no modo otimizado, mas é executado normalmente em -O0
Eu escrevi um simples programa multithreading da seguinte maneira: static bool finished = false; int func() { size_t i = 0; while (!finished) ++i; return i; } int main() { auto result=std::async(std::launch::async, func); std::this_thread::sleep_for(std::chrono::seconds(1)); finished=true; std::cout<<"result ="<<result.get(); std::cout<<"\nmain thread id="<<std::this_thread::get_id()<<std::endl; } Ele se comporta normalmente no modo de depuração no …


2
Como esse modelo de código para obter o tamanho de uma matriz funciona?
Gostaria de saber por que esse tipo de código pode obter o tamanho da matriz de teste? Não estou familiarizado com a gramática no modelo. Talvez alguém possa explicar o significado do código abaixo template<typename,size_t>. Além disso, um link de referência também é preferido. #define dimof(array) (sizeof(DimofSizeHelper(array))) template <typename T, …
61 c++  visual-c++ 





5
Sequência amigável de modelo para numérica em C ++
Na biblioteca padrão C ++, existem funções para converter de string para tipos numéricos: stoi stol stoll stoul stoull stof stod stold mas acho tedioso usá-los no código do modelo. Por que não há funções de modelo, algo como: template<typename T> T sto(...) converter seqüências de caracteres para tipos numéricos? …

2
Por que "usar o Sistema"; não é considerado uma má prática?
Tenho experiência em C ++ e compreendo perfeitamente e concordo com as respostas a esta pergunta: Por que "usar o namespace std;" considerada má prática? Então, estou surpreso que, tendo alguma experiência com C # agora, vejo exatamente o oposto: using Some.Namespace;é literalmente usado em todos os lugares. Sempre que …

2
Algoritmo para encontrar uma solução para A xor X = B + X
Dado o número inteiro A e B, encontre o número X para que: A, B <2 * 1e18 A xou X = B + X Eu duvido que seja possível resolver essa equação usando matemática. Este é um problema de codificação que me deparei há 3 anos e, mesmo agora, …
46 c++  xor 


3
Como posso obter a profundidade de um std :: vector multidimensional em tempo de compilação?
Eu tenho uma função que tem uma std::vectordimensão multidimensional e requer que a profundidade (ou o número de dimensões) seja passada como um parâmetro de modelo. Em vez de codificar esse valor, eu gostaria de escrever uma constexprfunção que aceite std::vectore retorne a profundidade como um unsigned integervalor. Por exemplo: …

2
Por que o operador! = Foi removido no C ++ 20 para muitos tipos de biblioteca padrão?
De acordo com a cppreference , std::type_info::operator!=é removido com o C ++ 20, no entanto, std::type_info::operator==aparentemente permanece. Qual é o raciocínio por trás? Eu poderia concordar em comparar a desigualdade sem sentido, mas comparar a igualdade seria igualmente sem sentido, não é? Da mesma forma, operator!=de muitos outros tipos de …


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.