/
Forside
/
Teknologi
/
Udvikling
/
C/C++
/
Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn
*
Kodeord
*
Husk mig
Brugerservice
Kom godt i gang
Bliv medlem
Seneste indlæg
Find en bruger
Stil et spørgsmål
Skriv et tip
Fortæl en ven
Pointsystemet
Kontakt Kandu.dk
Emnevisning
Kategorier
Alfabetisk
Karriere
Interesser
Teknologi
Reklame
Top 10 brugere
C/C++
#
Navn
Point
1
BertelBra..
2425
2
pmbruun
695
3
Master_of..
501
4
jdjespers..
500
5
kyllekylle
500
6
Bech_bb
500
7
scootergr..
300
8
gibson
300
9
molokyle
287
10
strarup
270
Hvordan returner man en type af sig selv f~
Fra :
Carsten Schwartz
Dato :
22-06-01 09:34
Vi arbejder i øbjeblikket med en string klasse 'CString' og har lavet en
'Mid' funktion, der gerne skulle returnere samme type d.v.s:
CString CString::Mid(int iFirst) const
{
CString csReturnValue;
if (iFirst < GetLength())
{
csReturnValue = &m_pchData[iFirst];
}
return csReturnValue;
}
Problemet er at 'csReturnValue' klart nok bliver fjernet fra stakken før det
bliver returneret. Hvordan klarer man at returnere før det bliver ødelagt?
Det er oplagt at man så kan gøre:
CString csMid;
CString csTestString = "Teststring";
csMid = csTestString.Mid(3)
Mid er herefter "tstring"....
Ivan Johansen (
22-06-2001
)
Kommentar
Fra :
Ivan Johansen
Dato :
22-06-01 09:46
Carsten Schwartz wrote:
>
> Vi arbejder i øbjeblikket med en string klasse 'CString' og har lavet en
> 'Mid' funktion, der gerne skulle returnere samme type d.v.s:
>
> CString CString::Mid(int iFirst) const
> {
> CString csReturnValue;
>
> if (iFirst < GetLength())
> {
> csReturnValue = &m_pchData[iFirst];
> }
>
> return csReturnValue;
> }
>
> Problemet er at 'csReturnValue' klart nok bliver fjernet fra stakken før det
> bliver returneret. Hvordan klarer man at returnere før det bliver ødelagt?
Bare sørg for at CString har implementeret en copy constructor, da denne
vil blive anvendt under returneringen. Er der for øvrigt en grundt til
at I ikke anvender std::string?
Ivan Johansen
Carsten Schwartz (
22-06-2001
)
Kommentar
Fra :
Carsten Schwartz
Dato :
22-06-01 10:54
Tak for tippet. Vi anvender ikke std::string fordi vi har en del kode
skrevet i Microsoft MFC og vi gerne vil kunne lave testprogrammer på windows
siden og så bruge sourcekoden direkte på vores embeddede platform. Ellers en
go' idé.
"Ivan Johansen" <Ng@Padowan.dk> wrote in message
news:3B3305CB.6EAD23C4@Padowan.dk...
> Carsten Schwartz wrote:
> >
> > Vi arbejder i øbjeblikket med en string klasse 'CString' og har lavet en
> > 'Mid' funktion, der gerne skulle returnere samme type d.v.s:
> >
> > CString CString::Mid(int iFirst) const
> > {
> > CString csReturnValue;
> >
> > if (iFirst < GetLength())
> > {
> > csReturnValue = &m_pchData[iFirst];
> > }
> >
> > return csReturnValue;
> > }
> >
> > Problemet er at 'csReturnValue' klart nok bliver fjernet fra stakken før
det
> > bliver returneret. Hvordan klarer man at returnere før det bliver
ødelagt?
>
> Bare sørg for at CString har implementeret en copy constructor, da denne
> vil blive anvendt under returneringen. Er der for øvrigt en grundt til
> at I ikke anvender std::string?
>
> Ivan Johansen
Søg
Alle emner
Teknologi
Udvikling
C/C++
Indstillinger
Spørgsmål
Tips
Usenet
Reklame
Statistik
Spørgsmål :
177558
Tips :
31968
Nyheder :
719565
Indlæg :
6408926
Brugere :
218888
Månedens bedste
Årets bedste
Sidste års bedste
Copyright © 2000-2024 kandu.dk. Alle rettigheder forbeholdes.