/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
char til float
Fra : Nyberg


Dato : 13-08-02 19:59

hej

hvordan konverter man en char til float i C++ .

MVH

René



 
 
rocekiller@impsoft.d~ (13-08-2002)
Kommentar
Fra : rocekiller@impsoft.d~


Dato : 13-08-02 20:11

In article <ajbkpb$g1g$06$1@news.t-online.com>, Nyberg wrote:
> hvordan konverter man en char til float i C++ .

Hmm, en char vil da ikke kunne blive til andet end heltal mellem 0 og 9,
og da aldrig en float.

--
Greetings
Bjarke Freund-Hansen


Ivan Johansen (13-08-2002)
Kommentar
Fra : Ivan Johansen


Dato : 13-08-02 20:20

rocekiller@impsoft.dk wrote:

> In article <ajbkpb$g1g$06$1@news.t-online.com>, Nyberg wrote:
>
>>hvordan konverter man en char til float i C++ .
>>
>
> Hmm, en char vil da ikke kunne blive til andet end heltal mellem 0 og 9,
> og da aldrig en float.


Størrelsen på en char er afhængig af implementationen. På de fleste
implmentationer kan en char indeholde værdier mellem -128 og 127. En
char kan sagtens konverteres til en float. Det er dog ikke altid at en
float kan konverteres til en char uden tab.

Ivan Johansen



Bjarke Dahl Ebert (13-08-2002)
Kommentar
Fra : Bjarke Dahl Ebert


Dato : 13-08-02 23:27

"Ivan Johansen" <NG@Padowan.dk> wrote in message

> Det er dog ikke altid at en float kan konverteres til en char uden tab.

Nej, det ville da være synd at sige

Mvh. Bjarke





Bertel Lund Hansen (13-08-2002)
Kommentar
Fra : Bertel Lund Hansen


Dato : 13-08-02 21:26

rocekiller@impsoft.dk skrev:

>Hmm, en char vil da ikke kunne blive til andet end heltal mellem 0 og 9

Det er sgu svært at klemme alfabetet ned på 10 positioner.

--
Bertel
http://bertel.lundhansen.dk/   FIDUSO: http://fiduso.dk/

Mikael Garde Nielsen (21-08-2002)
Kommentar
Fra : Mikael Garde Nielsen


Dato : 21-08-02 14:38

hæhæ good one :)

- Mikael

"Bertel Lund Hansen" <nospam@lundhansen.dk> wrote in message
news:8qqilu087kcbvcm11malse3q36joqf4ue6@news.telia.dk...
> rocekiller@impsoft.dk skrev:
>
> >Hmm, en char vil da ikke kunne blive til andet end heltal mellem 0 og 9
>
> Det er sgu svært at klemme alfabetet ned på 10 positioner.
>
> --
> Bertel
> http://bertel.lundhansen.dk/ FIDUSO: http://fiduso.dk/



Ivan Johansen (13-08-2002)
Kommentar
Fra : Ivan Johansen


Dato : 13-08-02 20:15

Nyberg wrote:

> hej
>
> hvordan konverter man en char til float i C++ .

Jeg er ikke sikker på hvad du mener. Konverteringen kan foretages implicit:
char c = 10;
float f = c;


Ivan Johansen


Nyberg (13-08-2002)
Kommentar
Fra : Nyberg


Dato : 13-08-02 21:26

Nej det kan man ikke
problemet er at jeg for en text Char* med tal 0.455 som jeg vi begene på

MVH
René Nyberg


Ivan Johansen <NG@Padowan.dk> skrev i en
nyhedsmeddelelse:3D595AA6.9090708@Padowan.dk...
> Nyberg wrote:
>
> > hej
> >
> > hvordan konverter man en char til float i C++ .
>
> Jeg er ikke sikker på hvad du mener. Konverteringen kan foretages
implicit:
> char c = 10;
> float f = c;
>
>
> Ivan Johansen
>



Claus Rasmussen (13-08-2002)
Kommentar
Fra : Claus Rasmussen


Dato : 13-08-02 21:43

Nyberg wrote:

> Nej det kan man ikke
> problemet er at jeg for en text Char* med tal 0.455 som jeg vi begene på

#include <stdlib.h>

float f = atof("0.455");

-Claus


Leo Laursen (13-08-2002)
Kommentar
Fra : Leo Laursen


Dato : 13-08-02 21:56

Nyberg <Nyberg@T-Online.de>:
>>> hvordan konverter man en char til float i C++ .

> Ivan Johansen <NG@Padowan.dk> skrev i en
>> Jeg er ikke sikker på hvad du mener. Konverteringen kan foretages
>> implicit: char c = 10; float f = c;

> Nej det kan man ikke problemet er at jeg for en text Char* med tal
> 0.455 som jeg vi begene på

Du kan kikke på på 2 (C) funktioner i <cstdlib>
atof(char* s) og strtod(char* s, char** endptr)

Leo
--
"If you ever want to get anywhere in politics, my boy, you're going to
have to get a toehold in the public eye."

Ivan Johansen (14-08-2002)
Kommentar
Fra : Ivan Johansen


Dato : 14-08-02 11:43

"Nyberg" <Nyberg@T-Online.de> wrote in message
news:ajbps0$m39$06$1@news.t-online.com...
> Nej det kan man ikke
> problemet er at jeg for en text Char* med tal 0.455 som jeg vi begene på
>
Se det er jo noget helt andet. Claus og Leo har givet eksempler på hvordan
det kan gøres med C funktioner. I C++ vil man dog ofte anvende en stream:

#include <sstream>

int main()
{
char *Str = "0.455";

std::stringstream Stream(Str);
float f;
Stream >> f;

return 0;
}


Ivan Johansen



Leo Laursen (14-08-2002)
Kommentar
Fra : Leo Laursen


Dato : 14-08-02 19:13

Ivan Johansen <NG@Padowan.dk>:
>> problemet er at jeg for en text Char* med tal 0.455 som jeg vi begene på

> I C++ vil man dog ofte anvende en stream:

> #include <sstream>

> int main()
> {
> char *Str = "0.455";

> std::stringstream Stream(Str);
> float f;
> Stream >> f;

> return 0;
> }

Ja det er jo flot. Problemet med at have lidt kendskab til C, før man
lærer C++, er at man straks tænker i C løsninger, og så holder op med at
lede efter bedre løsninger.

Kan man modsvarende skrive en talværdi til en streng med stringstream?

Leo
--
My brain is my second favorite organ.
      -- Woody Allen

Ivan Johansen (14-08-2002)
Kommentar
Fra : Ivan Johansen


Dato : 14-08-02 19:48

Leo Laursen wrote:

> Ja det er jo flot. Problemet med at have lidt kendskab til C, før man
> lærer C++, er at man straks tænker i C løsninger, og så holder op med at
> lede efter bedre løsninger.
>
> Kan man modsvarende skrive en talværdi til en streng med stringstream?


Ja, sagtens:
#include <sstream>
#include <string>
int main()
{
std::stringstream Stream;
float f = 4.758;
Stream << f;
std::string Str = Stream.str();

return 0;
}


Ivan Johansen



Bjarke Dahl Ebert (16-08-2002)
Kommentar
Fra : Bjarke Dahl Ebert


Dato : 16-08-02 16:52

"Leo Laursen" <l.laursen@mail1.stofanet.dk> wrote in message
news:aje6jp$fba$1@sunsite.dk...
> Ivan Johansen <NG@Padowan.dk>:
> > I C++ vil man dog ofte anvende en stream:
>
> > #include <sstream>
>
> > int main()
> > {
> > char *Str = "0.455";
>
> > std::stringstream Stream(Str);
> > float f;
> > Stream >> f;
>
> > return 0;
> > }
>
> Ja det er jo flot. Problemet med at have lidt kendskab til C, før man
> lærer C++, er at man straks tænker i C løsninger, og så holder op med at
> lede efter bedre løsninger.

Tilsvarende er problemet med C++, at sproget kan nogle ting som er
tilstrækkeligt smarte til at få en tilstrækkeligt begavet programmør til at
tænke at sproget er tilstrækkeligt fedt, og så holde op med at lede efter
bedre løsninger.

Sådan her *bør* det kunne gøres:
Str = "0.455"
f = float(Str)
Og det kan det heldigvis også - bare ikke i C++ .
Alt udover de to linier er det rene fyld. Fyld hører til i flødeskumskager,
ikke i sourcekode.


Bjarke





Igor V. Rafienko (16-08-2002)
Kommentar
Fra : Igor V. Rafienko


Dato : 16-08-02 17:11

[ Bjarke Dahl Ebert ]

[ snip ]

> Sådan her *bør* det kunne gøres:
> Str = "0.455"
> f = float(Str)
> Og det kan det heldigvis også - bare ikke i C++ .


Slutt å lyve, er du snill.

[ snip ]





ivr
--
<peder> igorr: tcl ja... det er fra de dypeste avgrunnene i helvete det...
<peder> php er bare fra foajeen
            -- pederst på irc

Leo Laursen (16-08-2002)
Kommentar
Fra : Leo Laursen


Dato : 16-08-02 18:48

Bjarke Dahl Ebert <bebert@worldonline.dk>:
>> Ja det er jo flot. Problemet med at have lidt kendskab til C, før man
>> lærer C++, er at man straks tænker i C løsninger, og så holder op med at
>> lede efter bedre løsninger.

> Tilsvarende er problemet med C++, at sproget kan nogle ting som er
> tilstrækkeligt smarte til at få en tilstrækkeligt begavet programmør til at
> tænke at sproget er tilstrækkeligt fedt, og så holde op med at lede efter
> bedre løsninger.

Ja, nu er jeg jo først ved at lære C++, og har ikke lagt mig fast på at
det er et elendigt sprog endnu.
Fra mit synspunkt er der et "pænt" C++, og en hoben dødkomplicerede kode
eksempler, der er umulige at få hoved eller hale i.
Jeg vil gerne lære den pæne stil, og så hen ad vejen bruge de mere
lowlevel ting når det er relevant.

> Sådan her *bør* det kunne gøres:
> Str = "0.455"
> f = float(Str)
> Og det kan det heldigvis også - bare ikke i C++ .
> Alt udover de to linier er det rene fyld. Fyld hører til i flødeskumskager,
> ikke i sourcekode.

Taler vi "rigtige" sprog ville jeg sige:

"0.455".to_f

Men nu ingen krig, vel

Leo
--
BOFH excuse #422:
Someone else stole your IP address, call the Internet detectives!

Bjarke Dahl Ebert (16-08-2002)
Kommentar
Fra : Bjarke Dahl Ebert


Dato : 16-08-02 22:24

"Leo Laursen" <l.laursen@mail1.stofanet.dk> wrote in message
news:ajjdsb$el7$1@sunsite.dk...
> Bjarke Dahl Ebert <bebert@worldonline.dk>:
> > Sådan her *bør* det kunne gøres:
> > Str = "0.455"
> > f = float(Str)
> Taler vi "rigtige" sprog ville jeg sige:
> "0.455".to_f
> Men nu ingen krig, vel

Nejnej . Jeg vil bare nøjes med at sige, at så kan jeg skrive:
float("0.455")

Det er et spørgsmål om, om det er en egenskab ved en streng at den kan parse
sig selv som en float, eller en egenskab ved float at den kan initialiseres
med en streng. Python har valgt det sidste.


Mvh. Bjarke





Igor V. Rafienko (16-08-2002)
Kommentar
Fra : Igor V. Rafienko


Dato : 16-08-02 23:02

[ Bjarke Dahl Ebert ]

[ snip ]

> Det er et spørgsmål om, om det er en egenskab ved en streng at den
> kan parse sig selv som en float, eller en egenskab ved float at den
> kan initialiseres med en streng. Python har valgt det sidste.


Da er det naturlig å spørre -- hva gjør man når tallet er skrevet
etter bestemte nasjonale konvensjoner og du ønsker _ikke_ å forandre
synes til _hele_ programmet ditt mhp. slike konvensjoner?





ivr
--
<peder> igorr: tcl ja... det er fra de dypeste avgrunnene i helvete det...
<peder> php er bare fra foajeen
            -- pederst på irc

Bjarke Dahl Ebert (16-08-2002)
Kommentar
Fra : Bjarke Dahl Ebert


Dato : 16-08-02 23:50

FUT: dk.edb.programmering

"Igor V. Rafienko" <igorr@ifi.uio.no> wrote in message
news:xjvptwibgyf.fsf@haey.ifi.uio.no...
> [ Bjarke Dahl Ebert ]
> > Det er et spørgsmål om, om det er en egenskab ved en streng at den
> > kan parse sig selv som en float, eller en egenskab ved float at den
> > kan initialiseres med en streng. Python har valgt det sidste.
>
> Da er det naturlig å spørre -- hva gjør man når tallet er skrevet
> etter bestemte nasjonale konvensjoner og du ønsker _ikke_ å forandre
> synes til _hele_ programmet ditt mhp. slike konvensjoner?

Ja, jeg kan jo ikke ændre den indbyggede type 'float'. Hvis jeg
initialiserer en float med en streng, bruger den altid engelsk decimalkomma,
hvilket er det vi ønsker!
Hvis programmet skal kommunikere med almindelige dødelige brugere, kan det
da godt være at jeg vil læse en streng med dansk decimalkomma:

import locale
print locale.atof("0,445")
---> 0.445

Det benytter POSIX locale (C library), og virker derfor på alle de platforme
Python er kompileret til. På min danske Windows giver den faktisk uden
videre det ovenstående.

Hvis jeg nu har skrevet et helt program der mange steder benytter 'float'
typen til at foretage konverteringen, og jeg af en eller anden grund
beslutter at float(string) altid skal konvertere i henhold til brugerens
locale, så laver jeg da bare min egen float:

orig_float = float
class myfloat(orig_float):
def __new__(self, x):
if isinstance(x, str): return orig_float.__new__(self,
locale.atof(x))
else: return orig_float.__new__(self, x)

Og nu kan jeg gøre:
float = myfloat # Yep!!

Det vil virke inde i det modul hvor jeg foretager den assignment. Det vil
ikke ændre virkemåden af "float" i de moduler der ikke eksplicit beder om
det (heldigvis).
Et modul kan bede om denne "nye float" således:
from myhacks import float

Og mit eksisterende program vil køre som før, bortset fra at float(mystr) nu
vil konvertere i henhold til localen.

Eksempler, der viser hvordan det fungerer ("--->" betyder "evaluerer til"):

float
---> <type '__main__.myfloat'>
a = float(10)
---> 10.0
type(a)
---> <type '__main__.myfloat'>
b = float("0,455")
---> 0.445
b + 10
---> 10.445
type(b+10)
---> <type 'float'>
type(b)
---> <type '__main__.myfloat'>
orig_float
---> <type 'float'>
orig_float(10)
---> 10.0


Man skulle næsten tro at dit spørgsmål var bestilt, så jeg kunne blære mig
med den fine løsning


Mvh. Bjarke





Igor V. Rafienko (17-08-2002)
Kommentar
Fra : Igor V. Rafienko


Dato : 17-08-02 00:28

[ Bjarke Dahl Ebert ]

[ snip ]

> > Da er det naturlig å spørre -- hva gjør man når tallet er skrevet
> > etter bestemte nasjonale konvensjoner og du ønsker _ikke_ å
> > forandre synes til _hele_ programmet ditt mhp. slike konvensjoner?
>
> Ja, jeg kan jo ikke ændre den indbyggede type 'float'.


Spørsmålet angikk ikke den interne representasjonen av floats (jeg ser
ingen grunn til å bry seg om den).


> Hvis jeg initialiserer en float med en streng, bruger den altid
> engelsk decimalkomma, hvilket er det vi ønsker!


Ønsker _vi_ det? Kunne du forklare hvorfor _vi_ skulle ønske det?
(Personlig, ønsker jeg å bruke den konverteringsfunksjonen som passer
til det dataformatet som skal behandles).


> Hvis programmet skal kommunikere med almindelige dødelige brugere,
> kan det da godt være at jeg vil læse en streng med dansk
> decimalkomma:
>
> import locale
> print locale.atof("0,445")
> ---> 0.445


.... og dermed bruker man _to_ forskjellige teknikker for å gjøre
logisk sett _den samme_ operasjonen? (Forresten, lexical_cast (som
boost kaller den) burde komme i 2 utgaver, der den ene utgaven har et
ekstra "locale" argument).

[ snip kodeforslag ]


> Man skulle næsten tro at dit spørgsmål var bestilt, så jeg kunne
> blære mig med den fine løsning


Har du et akutt behov for å blære deg?

Jeg hadde to innvendinger mot
<URL:news:3d5d1fad$0$33552$edfadb0f@dspool01.news.tele.dk>, hvorav
bare den ene kom fra tydelig:

* Konverteringen fra string til float kan skrives likeså kort i C++
som i Python. Om man kaller det "float( <expr> )" eller
"lexical_cast< float >( <expr> )" eller noe annet er langt mindre
vesentlig.

* Jeg synes ikke at kompakt notasjon i seg selv er et verdig mål.
_Dersom_ kortere notasjon fremmer forståelsen og bidrar til å gjøre
programmet klarere, da er den verdt å streve etter.





ivr
--
<peder> igorr: tcl ja... det er fra de dypeste avgrunnene i helvete det...
<peder> php er bare fra foajeen
            -- pederst på irc

Bjarke Dahl Ebert (17-08-2002)
Kommentar
Fra : Bjarke Dahl Ebert


Dato : 17-08-02 21:45

"Igor V. Rafienko" <igorr@ifi.uio.no> wrote in message
news:xjvlm76z8ml.fsf@asola.ifi.uio.no...
> [ Bjarke Dahl Ebert ]
> > > Da er det naturlig å spørre -- hva gjør man når tallet er skrevet
> > > etter bestemte nasjonale konvensjoner og du ønsker _ikke_ å
> > > forandre synes til _hele_ programmet ditt mhp. slike konvensjoner?
> > Ja, jeg kan jo ikke ændre den indbyggede type 'float'.
> Spørsmålet angikk ikke den interne representasjonen av floats (jeg ser
> ingen grunn til å bry seg om den).

Ingen har talt om intern repræsentation overhovedet.

> > Hvis jeg initialiserer en float med en streng, bruger den altid
> > engelsk decimalkomma, hvilket er det vi ønsker!
> Ønsker _vi_ det? Kunne du forklare hvorfor _vi_ skulle ønske det?

Ja, hvis der intet sted i programmet er nævnt noget om locale, så vil jeg
mene at man ville blive meget forvirret over at opdage at programmet
afhænger af brugerens
locale.
Strengen kan være kommet ind fra en konfigurationsfil, en registrysetting,
en del af en streng fra en database, eller skrevet ud af programmet selv
tidligere (måske på en anden maskinen på den anden side af jorden). Der er
et hav af muligheder.
At stiltiende parse efter brugerens locale kan give uønskede overraskelser.

Heldigvis fungerer C++'s "istream >>" på samme måde.

> (Personlig, ønsker jeg å bruke den konverteringsfunksjonen som passer
> til det dataformatet som skal behandles).

Selvfølgelig.

> > Hvis programmet skal kommunikere med almindelige dødelige brugere,
> > kan det da godt være at jeg vil læse en streng med dansk
> > decimalkomma:
> > print locale.atof("0,445")
> ... og dermed bruker man _to_ forskjellige teknikker for å gjøre
> logisk sett _den samme_ operasjonen?

Tjo, man bruger to forskellige funktioner til at udføre to forskellige
operationer. At det så "logisk set" er samme operation, kan de to funktioner
jo ikke rigtigt gøre noget ved.
Der er stor forskel på at parse i henhold til en valgt brugerrepræsentation
og sprogets egen entydige repræsentation ("entydig" i betydningen at sproget
(og udbredt koncencus) har dikteret formatet). Der er et forskel i niveau.
Det sidste har med bruger-IO at gøre, det første er mere lowlevel.

Der er jo heller ingen der forhindrer nogen i at lave:

def myatof(str, use_locale=False):
if (use_locale): return float(str)
else: return locale.atof(str)

(Jeg ved at dette er OffTopic på en C-nyhedsgruppe, men jeg har allerede
lave FUT til dk.edb.programmering én gang, uden held)

> * Konverteringen fra string til float kan skrives likeså kort i C++
> som i Python. Om man kaller det "float( <expr> )" eller
> "lexical_cast< float >( <expr> )" eller noe annet er langt mindre
> vesentlig.

Enig - selvfølgelig kan man i begge sprog skrive en funktion der gør eksakt
det ønskede.

> * Jeg synes ikke at kompakt notasjon i seg selv er et verdig mål.
> _Dersom_ kortere notasjon fremmer forståelsen og bidrar til å gjøre
> programmet klarere, da er den verdt å streve etter.

Enig.
Kompakt notation i sig selv fremmer ikke nødvendigvis forståelsen.
Men unødigt fyld hæmmer den i hvert fald.

Mvh. Bjarke





Claus Rasmussen (17-08-2002)
Kommentar
Fra : Claus Rasmussen


Dato : 17-08-02 22:57

Bjarke Dahl Ebert wrote:

> (Jeg ved at dette er OffTopic på en C-nyhedsgruppe, men jeg har allerede
> lave FUT til dk.edb.programmering én gang, uden held)

Hvorfor foreslår du ikke bare oprettelse af dk.edb.programmering.python i
stedet for at trolle her ? Jeg vil i hvert fald godt stemme for

-Claus


Bjarke Dahl Ebert (18-08-2002)
Kommentar
Fra : Bjarke Dahl Ebert


Dato : 18-08-02 08:58


"Claus Rasmussen" <clr@cc-consult.dk> wrote in message
news:ajmgqp$ldi$1@sunsite.dk...
> Bjarke Dahl Ebert wrote:
> > (Jeg ved at dette er OffTopic på en C-nyhedsgruppe, men jeg har allerede
> > lave FUT til dk.edb.programmering én gang, uden held)
> Hvorfor foreslår du ikke bare oprettelse af dk.edb.programmering.python i
> stedet for at trolle her ? Jeg vil i hvert fald godt stemme for

Jeg skriver et indlæg med FUT til dk.edb.programmering, og får svar i
dk.edb.programmering.c - hvad skal jeg så stille op? :)

Mvh. Bjarke





Claus Rasmussen (18-08-2002)
Kommentar
Fra : Claus Rasmussen


Dato : 18-08-02 12:04

Bjarke Dahl Ebert wrote:

> Jeg skriver et indlæg med FUT til dk.edb.programmering, og får svar i
> dk.edb.programmering.c - hvad skal jeg så stille op? :)

Ja, ja, ja. Du er helt udskyldig Det er jo ikke første gang, vi ser
dig reklamere for python her i gruppen. Det sker faktisk hver eneste gang,
du skriver her.

Det er ok en gang i mellem at få et andet perspektiv på et problem, og
se hvordan det kan løses i et andet sprog, men i længden bliver det
altså lidt trættende. Især når det alt i alt koger ned til "C++ er noget
skrammel - brug python i stedet".

Jeg synes, du skulle tænkte lidt over det med d.e.p.p .

-Claus


Bjarke Dahl Ebert (18-08-2002)
Kommentar
Fra : Bjarke Dahl Ebert


Dato : 18-08-02 19:42

"Claus Rasmussen" <clr@cc-consult.dk> wrote in message
news:ajnuuf$fue$1@sunsite.dk...

> Ja, ja, ja. Du er helt udskyldig

Netop

> Det er jo ikke første gang, vi ser
> dig reklamere for python her i gruppen. Det sker faktisk hver eneste gang,
> du skriver her.

Ah - det er vist en mild overdrivelse.
Men jeg skal nok i fremtiden holde Python-snak i en mere neutral gruppe. Jeg
forsøgte jo netop at flytte den del af tråden over i dk.edb.programmering,
fordi det var kommet til at handle mere om Python end C++.

> Det er ok en gang i mellem at få et andet perspektiv på et problem, og
> se hvordan det kan løses i et andet sprog, men i længden bliver det
> altså lidt trættende. Især når det alt i alt koger ned til "C++ er noget
> skrammel - brug python i stedet".

Jaja, okay, jeg skal nok skrue lidt ned for iveren. Jeg kan faktisk godt se
at det kan være irriterende. Jubelglade fortalere for et eller andet har vi
nok af . (Men jeg *er* jubelglad .
Det har bare været svært at se stiltiende til når folk bliver ved med at
komme rendende med problemer med callbacks, buffer overrun, polymorfe
containere, syntaksproblemer, osv. - problemer som man ikke burde finde sig
i. Så er det jo svært ikke at sige at det er nogle problemer man påfører sig
selv ved at benytte C++. Ups - nu gjorde jeg det næsten igen. NU stopper
jeg. Så. Nu siger vi nu. "Nu". Tak.

Mvh. Bjarke





Claus Rasmussen (18-08-2002)
Kommentar
Fra : Claus Rasmussen


Dato : 18-08-02 19:46

Bjarke Dahl Ebert wrote:

> Jaja, okay, jeg skal nok skrue lidt ned for iveren.

Ok. Så lader vi gå for denne gang

-Claus


Igor V. Rafienko (17-08-2002)
Kommentar
Fra : Igor V. Rafienko


Dato : 17-08-02 23:27

[ Bjarke Dahl Ebert ]

[ snip ]

> Enig - selvfølgelig kan man i begge sprog skrive en funktion der gør
> eksakt det ønskede.


Så hva _gnåler_ du om i
<URL:news:3d5d1fad$0$33552$edfadb0f@dspool01.news.tele.dk> da?





ivr
--
<peder> igorr: tcl ja... det er fra de dypeste avgrunnene i helvete det...
<peder> php er bare fra foajeen
            -- pederst på irc

Bjarke Dahl Ebert (18-08-2002)
Kommentar
Fra : Bjarke Dahl Ebert


Dato : 18-08-02 09:03


"Igor V. Rafienko" <igorr@ifi.uio.no> wrote in message
news:xjvit2986kr.fsf@vestavind.ifi.uio.no...
> [ Bjarke Dahl Ebert ]
> > Enig - selvfølgelig kan man i begge sprog skrive en funktion der gør
> > eksakt det ønskede.
> Så hva _gnåler_ du om i
> <URL:news:3d5d1fad$0$33552$edfadb0f@dspool01.news.tele.dk> da?

Det var kode uden brug af adhoc-funktioner.
Nødvendige adhoc-funktioner skal vel regnes når man sammenligner løsninger.

Mvh. Bjarke





Igor V. Rafienko (18-08-2002)
Kommentar
Fra : Igor V. Rafienko


Dato : 18-08-02 15:16

[ Bjarke Dahl Ebert ]

[ snip ]

> Det var kode uden brug af adhoc-funktioner. Nødvendige
> adhoc-funktioner skal vel regnes når man sammenligner løsninger.


Hva om du forsøker å bruke hodet ditt litegrann?

Hvis du først skal kritisere C++ (og det er relativt enkelt gjort å
finne et område å kritisere), hva med å gjøre det skikkelig? Makter du
det, eller er det eneste du er i stand til nettopp det å komme med
tåpelige vitser som du selv vet er hverken morsomme eller
innsiktsfulle?

Vær så snill, se litt på språkdefinisjonen til C++ _før_ du kommer med
flere tåpelige utspill som har som sitt eneste formål å briljere med
din egen ignoranse (hint: Python sin __builtins__.float har en
tilsvarende motpart i standardbiblioteket til C++).





ivr
--
<peder> igorr: tcl ja... det er fra de dypeste avgrunnene i helvete det...
<peder> php er bare fra foajeen
            -- pederst på irc

Claus Rasmussen (14-08-2002)
Kommentar
Fra : Claus Rasmussen


Dato : 14-08-02 20:10

Ivan Johansen wrote:

> Se det er jo noget helt andet. Claus og Leo har givet eksempler på hvordan
> det kan gøres med C funktioner. I C++ vil man dog ofte anvende en stream:

Dette trick er genialt. Konverterer fra alt til alt, der har en iostream
operatorer:

template<typename ToType, typename FromType>
inline
ToType lexical_cast(FromType from) {
std::strstream io;
ToType to;

if (!(io << from) || !(io >> to) || !(io >> std::ws).eof())
error();
return to;
}

Bruges sådan her:

char* s = "0.455";
float f = lexical_cast<float>(s);

Sakset fra www.boost.org .

-Claus


Anders J. Munch (14-08-2002)
Kommentar
Fra : Anders J. Munch


Dato : 14-08-02 22:03

"Claus Rasmussen" <clr@cc-consult.dk> skrev:
> Ivan Johansen wrote:
>
> > Se det er jo noget helt andet. Claus og Leo har givet eksempler på
hvordan
> > det kan gøres med C funktioner. I C++ vil man dog ofte anvende en
stream:
>
> Dette trick er genialt. Konverterer fra alt til alt, der har en iostream
> operatorer:
[snip lexical_cast]

Mjah, det er nu ikke helt så genialt som det ser ud. iostream operatorer er
ikke designet til serialisering.

Prøv fx.

string s("hello world");
cout << lexical_cast<string>(s);

- Anders




Claus Rasmussen (15-08-2002)
Kommentar
Fra : Claus Rasmussen


Dato : 15-08-02 19:59

Anders J. Munch wrote:

> Mjah, det er nu ikke helt så genialt som det ser ud. iostream operatorer
> er ikke designet til serialisering.
>
> Prøv fx.
>
> string s("hello world");
> cout << lexical_cast<string>(s);

Den detalje tror jeg godt, jeg kan leve med, når alternativet til
dit eksempel er:

string s("hello world");
cout << s;

MVH
-Claus


Søg
Reklame
Statistik
Spørgsmål : 177485
Tips : 31964
Nyheder : 719565
Indlæg : 6408408
Brugere : 218885

Månedens bedste
Årets bedste
Sidste års bedste