Questions marquées «c++»

95
Quelle est la signification du terme «fonction libre» en C ++?

En lisant la documentation de boost :: test, je suis tombé sur le terme «fonction libre». Ce que je comprends, c'est qu'une fonction libre est une fonction qui ne renvoie rien (son type de retour est void). Mais après avoir lu plus loin, il semble que les fonctions libres ne prennent pas non plus...

95
L'opérateur tilde en C

J'ai vu l'opérateur tilde utilisé dans l'algorithme de hachage ELF, et je suis curieux de savoir ce qu'il fait. (Le code vient d'Eternally Confused .) unsigned elf_hash ( void *key, int len ) { unsigned char *p = key; unsigned h = 0, g; int i; for ( i = 0; i < len; i++ ) { h = ( h << 4 ) +...

95
vector :: at vs vector :: opérateur []

Je sais que at()c'est plus lent qu'à []cause de sa vérification des limites, qui est également discutée dans des questions similaires comme C ++ Vector at / [] operator speed ou :: std :: vector :: at () vs operator [] << résultats surprenants !! 5 à 10 fois plus lent / plus rapide! . Je ne...

95
Comment vérifier le type d'un paramètre de modèle?

Supposons que j'ai une fonction de modèle et deux classes class animal { } class person { } template<class T> void foo() { if (T is animal) { kill(); } } Comment vérifier si T est un animal? Je ne veux pas avoir quelque chose qui vérifie pendant l'exécution. Merci

95
<cstdint> contre <stdint.h>

Quelle est la différence entre stdint.het cstdint? Les deux sont disponibles dans MSVC (Visual Studio 2010) et gcc-4.5.1. Les deux définissent également les types intX_t/ uintX_t(où Xest la taille en octets du type). Si la justification dans les deux en-têtes est la même (types portables), quelles...

95
Qu'est-ce qu'une «mémoire stomp»?

Je viens de tomber sur ce billet de blog qui mentionne «la mémoire stomping»: un programme C ++ qui est facilement capable de piétiner la mémoire (quelque chose dont vous n'avez probablement jamais entendu parler si vous êtes né dans un monde de code managé.) Et en fait je n'en ai jamais entendu...

95
Que signifie le rinçage du tampon?

J'apprends le C ++ et j'ai trouvé quelque chose que je ne comprends pas: Les tampons de sortie peuvent être explicitement vidés pour forcer l'écriture du tampon. Par défaut, la lecture des cinvidages cout; coutest également vidé lorsque le programme se termine normalement. Donc vider le tampon (par...

95
Quel en-tête dois-je inclure pour `size_t`?

Selon cppreference.com size_t est défini dans plusieurs en-têtes, à savoir <cstddef> <cstdio> <cstring> <ctime> Et, depuis C ++ 11, également dans <cstdlib> <cwchar> Tout d'abord, je me demande pourquoi c'est le cas. N'est-ce pas en contradiction avec le...

95
Remplacerait '::' par '. 'créer des ambiguïtés en C ++?

En C ++, l'opérateur ::est utilisé pour accéder aux classes, fonctions et variables dans un espace de noms ou une classe. Si la spécification de langage utilisée .au lieu de ::dans ces cas aussi, comme lors de l'accès aux variables / méthodes d'instance d'un objet, cela provoquerait-il des...

94
Obtenez l'adresse IP de la machine

Cette question est presque la même que celle demandée précédemment Obtenir l'adresse IP de l'ordinateur local -Question. Cependant, j'ai besoin de trouver la ou les adresses IP d'une machine Linux . Donc: Comment puis-je - par programmation en C ++ - détecter les adresses IP du serveur Linux sur...