Avatar billede morw Nybegynder
03. april 2003 - 19:53 Der er 2 kommentarer og
2 løsninger

Bolsk udtryk i while - forkort

Hejsa

Kan man ikke skrive nedenstående på en kortere måde?

Min hent funktion retunerer "" når den ikke finder noget. Kan man i C++ ikke
retunere null eller false så jeg kan flytte "denne = hent(...." op som while
condition?

void behandle(map<int, Deltager_info> *al, int id)
{
  string denne;

  //cout << (*al)[id].buffer << endl;
  bool st = true;

  //while
  while(st)
  {
    denne = hent(&(*al)[id].buffer);
    if(denne != "")
    {
      cout << "Buffer " << id << ": " << denne << endl;
    }
    else
    {
      st = false;
    }
  }

}
Avatar billede arne_v Ekspert
03. april 2003 - 19:57 #1
Prøv med:

void behandle(map<int, Deltager_info> *al, int id)
{
  string denne;

  //while
  while((denne = hent(&(*al)[id].buffer)) != "")
  {
      cout << "Buffer " << id << ": " << denne << endl;
  }

}
Avatar billede tam Nybegynder
03. april 2003 - 20:01 #2
string denne;
while ((denne = hent(&(*al)[id].buffer)) != "")
{
  cout << "Buffer " << id << ": " << denne << endl;
}

Hmmm, jeg har ikke lige prøvet at compile det, men det burde virke...
Avatar billede tam Nybegynder
03. april 2003 - 20:02 #3
Argh Arne, du skrev hurtigere end mig :-(
Du havde ikke svaret da jeg begyndte ;-)
Avatar billede morw Nybegynder
03. april 2003 - 20:07 #4
Utroligt hvad () kan gøre - tak!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester