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
Conversion en void ** sur différents compilateurs
J'ai exécuté le code suivant via différents compilateurs: int main() { float **a; void **b; b = a; } D'après ce que j'ai pu rassembler, il nevoid ** s'agit pas d' un pointeur générique, ce qui signifie que toute conversion à partir d'un autre pointeur ne devrait pas compiler ou …
9 c++  c  cuda 


1
Comment shift_right () doit-il être implémenté en C ++ 20?
En C ++ 20, l'en- <algorithm>tête gagne deux nouveaux algorithmes: shift_left()etshift_right() . Les deux acceptent n'importe quel LegacyForwardIterator. Pour shift_left(), il est précisé que "les déplacements sont effectués dans un ordre croissant de idépart ​0"; car shift_right(), il est spécifié que "s'il ForwardItrépond aux exigences LegacyBidirectionalIterator, alors les déplacements sont …


1
incohérence clang / gcc dans la spécialisation de classe
J'ai rencontré ce problème en essayant de spécialiser tuple_size/ tuple_elementpour une classe personnalisée en C ++ 17 pour la liaison structurée. Le code ci-dessous se compile dans GCC, mais pas dans clang (les deux versions de tronc, voir le lien ci-dessous). #include <type_traits> template<typename T, typename... Ts> using sfinae_t = …



1
Est-ce que new (this) ThisClass () est une mauvaise idée?
class FooView final : public Something { ... void refresh() { this->~FooView(); new (this) FooView(); } } Je n'ai jamais vu cet idiome, et il semble que cela pourrait être vraiment subtil et désordonné, mais je ne peux pas vraiment penser à un problème avec lui (tant que FooView est …




1
Est-il permis d'ajouter un zéro à un pointeur nul?
Je sais que l'arithmétique des pointeurs est interdite pour les pointeurs nuls. Mais imaginez que j'ai quelque chose comme ça: class MyArray { int *arrayBegin; // pointer to the first array item, NULL for an empty array unsigned arraySize; // size of the array, zero for an empty array public: …




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.