begin process at 2012 05 28 18:36:55
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Algorithme

 > 

Compression, Split & Cryptage

 > 

comparaison entre 2 fonctions


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

comparaison entre 2 fonctions

mercredi 1 octobre 2008 à 12:16:49 | comparaison entre 2 fonctions

cyss

Est-ce que ces 2 fonctions sont equivalentes?

void f1(char *t)
{
    if (t!=0)
    {
        while(*t!=0)
        {
            cout<<*t;
            t++;
        }
    }
}

void f2(char &t)
{
    while (t!=0)
    {
        cout<<t;
        t++;
    }
}

mercredi 1 octobre 2008 à 13:52:46 | Re : comparaison entre 2 fonctions

coucou747

Administrateur CodeS-SourceS
salut


non, leur utilisation n'est pas equivalente, et ton t++ n'agit pas sur la meme chose (adresse / valeur)

Bref, ce ne sont pas DU TOUT les memes fonctions.

En C, les references n'existent pas (donc ta seconde fonction ne compile pas)
jeudi 2 octobre 2008 à 12:32:39 | Re : comparaison entre 2 fonctions

rt15

Membre Club Administrateur CodeS-SourceS

Salut,

Par contre, strictement même code machine pour f1 et f2 dans le code suivant :


#include <iostream>

using namespace std;

void f1(int *t)
{
  (*t)++;
}

void f2(int &t)
{
  t++;
}

int main(int argc, char* argv[])
{
  int t1 = 1;
  int t2 = 1;

  f1(&t1);
  f2(t2);

  cout << t1 << endl;
  cout << t2 << endl;

  return 0;
}

jeudi 2 octobre 2008 à 14:58:35 | Re : comparaison entre 2 fonctions

rt15

Membre Club Administrateur CodeS-SourceS

Les références (Du moins celles du C++), c'est vraiment pas mon truc.

Je ne parviens pas à faire progresser une référence comme on peut le faire pour un pointeur sans passer par de l'asm.


#include <iostream>

using namespace std;

void __stdcall f1(char* t)
{
  while(*t != 0)
  {
    cout << *t;
    t++;
  }
}

void __stdcall f2(char& t)
{
  while (t != 0)
  {
    cout << t;
    __asm
    {
      inc dword ptr [ebp + 8]
    }
  }
}

int main(int argc, char* argv[])
{
  char* t = "toto\n";

  f1(t);
  f2(*t);

  system("pause");

  return 0;
}



Cette discussion est classée dans : while, void, comparaison, char, fonctions


Répondre à ce message

Sujets en rapport avec ce message

au secours!!! [ par serge14 ] Bonjour.je suis en sstage et je dois coder un protocole de transmission /reception de donées avecle pic 18f4550.malgré mes efforts pour comprendre les Besoin d un coup de main prog de porte inverseuse [ par matoz ] Salut   Je suis un jeune padawan de la prog qui a soif  d apprendre...je veux faire une porte inverseuse genre tu rentres 1 et il sort 0... mon "progr methode system() [ par sperate ] Bonjour,je code sur visual studio 2005 une simple application en mode console.j'utilise la methode "system()" pour envoyer des commandes simples genre Questions sur les fonctions ! (suis un debutant) [ par sebclick ] slt tlmje programme en c++ depuis qlql semaines... et la je viens de decouvrir ce site... ça tombe bien j'ai un petit pb.Lorsque l'on créer une foncti Comparaison avec StrCmp() [ par lcampeur ] Bonjour, je souhaite effectuer une comparaison, j'ai un programme contenant une structure borne contenant: 1- char NomBorne [20] 2- char IP[16]M Probleme avec realloc() ... [ par Tidam ] Voili voilou, j'ai une erreur de compilation avec ce petit bout de code : void addop(char opnick[50]) {     nboper++;     oper = realloc(oper, nboper Elle est ou l'erreur ?? [ par kgadhi ] Bonsoir tous le monde et merci pour votre aide,j'essaye de m'entrainer à la programmation orientée objet en C/C++ mais la j'ai un petit probleme:virtu Erreur template [ par RaphAstronome ] Bonjour,J'ai un probleme avec Dev-c++ (GCC) Lorsque je complie ça (il ce trouve dans le .h) et aucune instruction ne le précéde :#ifndef _TRANSLATE_H_ Arbre Lexicographique [ par LordBob ] Bonjour a tous,voila en fait j'ai un exercice d'algorithmique ou je dois créé un arbre l'exicographique, voici la structure de ma classe:class ArbreLe Wrapper des fonctions: pb avec ellipsis (les "...") [ par kmcl ] Bonjour,Je suis en train de développer un outil de test black-box de composants soft de type dll. L'une des exigences qui m'est faite est la possibili


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,359 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales