delorie.com/archives/browse.cgi | search |
Newsgroups: | comp.os.msdos.djgpp |
Subject: | Re: newbie: pointers/vectors confusion w/ DJGPP |
From: | Martin Ambuhl <mambuhl AT earthlink DOT net> |
References: | <87752c88 DOT 0307230158 DOT 15540458 AT posting DOT google DOT com> |
Organization: | Nocturnal Aviation |
Message-ID: | <Xns93C18634DF202mambuhlearthlinknet@207.217.77.25> |
User-Agent: | Xnews/5.04.25 |
X-Face: | #PT?r&aN>ro*?:r AT h&l1(3WchlNz?9-y/wnr]CjPxdjd/*4lVC\*M+aZLO?E!2Q)]vD*M8oL(Zu2:VR17$t7-eVdNQH'!xp'5'NAP4$\fb"zAcf60HTC%S!<~xD}TFE76>a)IF-xa%$2at+D^;7~$mW^aDR)]bBmO``s<c=AN_wKI(G1PX/L02Q~BX<O}T<@916W22JYTnlp`C:a~[$WAdF9XpX'x!3jFgPK&*O6'^%RkX-C`F$7A7^}V$.K= |
Lines: | 67 |
Date: | Wed, 23 Jul 2003 18:11:58 GMT |
NNTP-Posting-Host: | 65.148.4.49 |
X-Complaints-To: | abuse AT earthlink DOT net |
X-Trace: | newsread2.prod.itd.earthlink.net 1058983918 65.148.4.49 (Wed, 23 Jul 2003 11:11:58 PDT) |
NNTP-Posting-Date: | Wed, 23 Jul 2003 11:11:58 PDT |
To: | djgpp AT delorie DOT com |
DJ-Gateway: | from newsgroup comp.os.msdos.djgpp |
Reply-To: | djgpp AT delorie DOT com |
On 23 Jul 2003, you wrote in comp.os.msdos.djgpp: > Hi > > I have neither experience with DJGPP nor (much) with C++ > in general but I wanted to run a small test program to > test the speed of execution in C/C++ with another application > under Windows. > > However, I seem to have fallen at the first hurdle.. > > It is necessary for the task in question to use containers and > I had wanted to use vectors. However I cannot seem to interpret > the behaviour of the following small program: > > #include <iostream> > #include <vector> > > using namespace std; > > int main() { > > vector<int> *demand; > > for (int i=0; i<10; ++i) > { > demand->push_back(7); > } > > for (vector<int>::iterator it=demand->begin(); > it!=demand->end(); > ++it) > { > cout << *it << "\n"; > } > > return 0; > } > > I had hoped it would print 10 7s on the screen. Instead it sends > about 800 lines of ints follow by the 10 7s. You don't want a pointer to a vector, and if you did, you should have initialized that pointer to point at something. The following does what you want: #include <iostream> #include <vector> using namespace std; int main() { vector<int> demand; for (int i = 0; i < 10; ++i) demand.push_back(7); for (vector<int>::iterator it = demand.begin(); it != demand.end(); ++it) cout << *it << "\n"; } -- Martin Ambuhl Returning soon to the Fourth Largest City in America
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |