Questions marquées «c++»

C ++ est un langage de programmation à usage général. Il a été initialement conçu comme une extension de C et a une syntaxe similaire, mais c'est maintenant un langage complètement différent. Utilisez cette balise pour les questions sur le code (à compiler) avec un compilateur C ++. Utilisez une balise spécifique à la version pour les questions liées à une révision standard spécifique [C ++ 11], [C ++ 14], [C ++ 17] ou [C ++ 20], etc.

1
Accéder à un membre dans une structure via une variable en C ++
J'ai une structure avec deux membres, par exemple: struct DataSet { int x; int y; }; ..., et je dois y accéder dans une méthode, mais une seule à la fois, par exemple: void foo(StructMember dsm) { // ("StructMember" does not exist) DataSet ds; ds.x = 4; ds.y = 6; …
10 c++ 

2
Déduction des types d'arguments du modèle de modèle C ++
J'ai du code qui trouve et imprime les correspondances d'un modèle en passant par le conteneur de chaînes. L'impression est effectuée dans la fonction foo qui est modélisée Le code #include <iostream> #include <algorithm> #include <iterator> #include <vector> #include <string> #include <tuple> #include <utility> template<typename Iterator, template<typename> class Container> void …

1
Pourquoi std :: span n'a pas d'opérateurs de comparaison?
N'est-ce pas std::spanconçu comme une référence légère aux sous-régions du tableaustd::vector / std::array/ plain et similaires? Ne devrait-il pas également contenir des opérateurs de comparaison dans son API, pour être cohérent avec eux? Quel était le raisonnement derrière l'exclusion? Note: par les opérateurs de comparaison, je veux dire soit l'ensemble …
10 c++  std  c++20  std-span 



3
Troncature incohérente des expressions entières de champ de bits non signées entre C ++ et C dans différents compilateurs
Modifier 2 : Je déboguais un échec de test étrange lorsqu'une fonction résidant précédemment dans un fichier source C ++ mais déplacée dans un fichier C textuellement, a commencé à renvoyer des résultats incorrects. Le MVE ci-dessous permet de reproduire le problème avec GCC. Cependant, quand j'ai, sur un coup …

3
Nullptr peut-il être converti en uintptr_t? Différents compilateurs en désaccord
Considérez ce programme: #include <cstdint> using my_time_t = uintptr_t; int main() { const my_time_t t = my_time_t(nullptr); } Il n'a pas réussi à compiler avec 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 …
10 c++  c++11  gcc  visual-c++  clang 

1
Le contrôle Concept TS ignore le modificateur d'accès privé
Je veux écrire un concept indexable signifiant qu'une séquence a un début / fin qui renvoie RandomAccessIterator, ou operator [] est défini et renvoie une valeur de type non void. J'ai utilisé des idées de l'article de Stroustrup pour le concept Sequence et je l'ai complété avec: template <class T> …
10 c++  c++-concepts 

1
Problème dans GCC / C ++ 17 avec la classe de modèles de modèles
Considérez les 2 surcharges suivantes template<typename T> bool test() { return true; } template<template<typename ...> class T> bool test() { return false; } Le 1er fonctionne pour les classes régulières, tandis que le 2ème fonctionne pour les modèles qui ne sont pas instanciés. Par exemple: std::cout<<test<int>()<<std::endl; <-- this yields 1 …
10 c++  templates  gcc  clang  c++17 

4
Pourquoi renvoyer NULL de main ()?
Je vois parfois des codeurs qui utilisent NULLcomme valeur de retour main()dans les programmes C et C ++, par exemple quelque chose comme ça: #include <stdio.h> int main() { printf("HelloWorld!"); return NULL; } Quand je compile ce `code avec gcc, je reçois l'avertissement de: avertissement: return rend entier à partir …
10 c++  c  null  return  return-value 


1
Serons-nous capables de construire des conteneurs avec des vues en C ++ 20?
Les gammes arrivent en C ++ avec la version standard C ++ 20. Ma question: serons-nous en mesure de construire des conteneurs de bibliothèque standard (existants) avec n'importe quelle gamme? Et plus important encore, avec des vues de portée? Par exemple, cela va-t-il: #include <vector> #include <iostream> #include <ranges> int …
10 c++  c++20  range-v3 

1
Fuite de mémoire pendant unordered_map :: insert exception KeyEqual avec GCC - rompre la garantie de sécurité d'exception forte?
J'utilise GCC 7.3.1, mais aussi testé sur coliru, qui je crois est la version 9.2.0. Construisez avec les éléments suivants: g++ -fsanitize=address -fno-omit-frame-pointer rai.cpp Voici 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"); } }; std::unordered_map<std::string, …


1
Que signifient ^ () {} et ^ {} en C ++?
J'ai récemment lu du code C ++ comme celui-ci: setData(total, &user, ^() { struct dst_t to = {ip, port}; sendData(to, data); }); getData(total, ^{ recvData(data, NULL); }); Je n'ai jamais vu ^() {}ni ^{}. Que signifient-ils? Une sorte de fonction anonyme?
10 c++ 

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.