preguntar acerca de undefined-behavior

7
réponses

Le comportement de la division en virgule flottante par zéro

Considérez #include <iostream> int main() { double a = 1.0 / 0; double b = -1.0 / 0; double c = 0.0 / 0; std::cout << a << b << c; // to stop compilers from optimising out the code. } J'ai toujours pens …
demandé sur 1970-01-01 00:33:37
6
réponses

membre const et opérateur d’affectation. Comment éviter le comportement indéfini?

I a répondu à la question sur std:: vector des objets et const-correctif et a obtenu undeserved downvote et un commentaire sur le comportement indéfini. Je ne suis pas d'accord et j'ai donc une question. Considérez la classe avec le membre cons …
demandé sur 1970-01-01 00:33:30
3
réponses

Quel est le meilleur moyen C++ de multiplier les entiers non signés de manière modulaire en toute sécurité?

Imaginons que vous êtes à l'aide de <cstdint> et les types comme std::uint8_t et std::uint16_t, et souhaitez effectuer des opérations comme += et *= sur eux. Vous souhaitez que l'arithmétique sur ces nombres s'enroule de manière modulaire, com …
demandé sur 1970-01-01 00:33:34
2
réponses

Quel algorithme de hachage spécifique fait MessageDigest.getInstance («SHA») retour?

MessageDigest.getInstance("SHA") semble fonctionner et me donne un MessageDigest, mais je ne peux pas dire à quel algorithme de me. Est-ce SHA - 1 ou SHA-0 ou ..? Je ne suis pas intéressé par ce qui se passe sur ma machine. Je veux savoir s'il ret …
demandé sur 1970-01-01 00:33:33
6
réponses

Inverser une chaîne en C

je sais que cela a été demandé des milliers de fois mais je ne peux pas trouver l'erreur dans mon code. Quelqu'un pourrait-il gentiment signaler ce que je fais mal? #include <stdlib.h> #include <string.h> void reverseString(char *myStri …
demandé sur 1970-01-01 00:33:30
1
réponses

valgrind montre une fuite de mémoire dans std:: faire unique

j'utilise valgrind pour vérifier les fuites de mémoire. Malheureusement je reçois un Leak_DefinitelyLost avertissement. ci-Joint une version simplifiée de mon code qui reproduit l'erreur: #include <iostream> #include <vector> #include …
demandé sur 1970-01-01 00:33:38
2
réponses

Dans quelle mesure est-ce que builtin ctz(0) ou builtin clz(0) ne sont pas définis?

arrière-plan pendant longtemps, gcc a fourni un certain nombre de fonctions de bit-twidling intégrées, en particulier le nombre de 0-bits traînant et menant (également pour long unsigned et long long unsigned , qui ont des suffixes …
demandé sur 1970-01-01 00:33:33
6
réponses

Puis-je traiter un tableau 2D comme un tableau 1D contigu?

considère le code suivant: int a[25][80]; a[0][1234] = 56; int* p = &a[0][0]; p[1234] = 56; la deuxième ligne invoque-t-elle un comportement non défini? Comment sur la quatrième ligne? ... …
demandé sur 1970-01-01 00:33:31
2
réponses

gcc-4.9 Agent D’assainissement des comportements non défini

Dans gcc-4.9 changements il dit: UndefinedBehaviorSanitizer (ubsan), une vitesse de comportement indéfini détecteur a été ajouté et peut être activé via-fsanitize=undefined. Différents calculs seront instrumentés pour détect …
demandé sur 1970-01-01 00:33:33
11
réponses

Pourquoi f (i = -1, i = -1) n’est-il pas défini?

je lisais à propos de ordre des violations d'évaluation , et ils donnent un exemple qui me laisse perplexe. 1) si un effet secondaire sur un objet scalaire n'est pas séquencé par rapport à un autre effet secondaire sur le même objet …
demandé sur 1970-01-01 00:33:34