Home

On 2007-09-11 11:42:18 -0400, jeroenvlek@gmail.com said:

> Hi there,
>
> I've never done this before, so I don't know about any layout
> possibilities. My apologies :)
>
> The problem is this:
>
> I've written a function:
>
> map<const char*, int> *SearchText::countWords()
> {
> map<const char*, int> *table = new map<const char*, int>;

There's no reason to create this map on the heap. Make it a local

>
> (*table)["aap"] = 1;
> (*table)["noot"] = 2;
>
> cout << (*table)["aap"] << endl;
> cout << (*table)["noot"] << endl;
>
> return table;
> }
>
> Which I want to use like this:
>
> try {
> SearchText *text = new SearchText("test.txt");
> map<const char*, int> *table = text->countWords();
> cout << (*table)["aap"] << endl;
> cout << (*table)["noot"] << endl;
> }
> catch(int ex) {
> cout << "Could not open file." << endl;
> }
>
>
> However, I get the following output:
>
> 1
> 2
> 0
> 0
>
> Meaning that the first two output statements (in the function itself)
> do their job and the second two do not.
>
> I guess it's some sort of allocation problem, but what could I do
> different? I guess I could use maybe malloc or calloc, but shouldn't
> this be also possible with new?
>
> BTW making table static in the function didn't help.


--
Pete
Roundhouse Consulting, Ltd. (www.versatilecoding.com) Author of "The
Standard C++ Library Extensions: a Tutorial and Reference
(www.petebecker.com/tr1book)

previous
next

Re: OCBC connection
Bulge Bracket Investment bank is looking for 7-8 engineering/cs talents
Re: Something in the function tutorial confused me.
Problems with dynamic function creation.
Copy Constructor Query
boks katowice
mieszkania w warszawie
tablice nagrobkowe kraków
ogrodzenia warszawa
skutery czesci