Path: csiph.com!x330-a1.tempe.blueboxinc.net!newsfeed.hal-mli.net!feeder1.hal-mli.net!goblin1!goblin2!goblin.stu.neva.ru!feeder.erje.net!eternal-september.org!feeder.eternal-september.org!.POSTED!not-for-mail From: ittium Newsgroups: comp.lang.c++ Subject: Re: STL container and stack frame size Date: Tue, 09 Aug 2011 10:12:58 +0530 Organization: A noiseless patient Spider Lines: 23 Message-ID: <4E40BAD2.9050002@gmail.com> References: <6ebc4e08-8383-4284-982c-d84d1045266a@a2g2000prf.googlegroups.com> <4e3aaad2$0$2832$7b1e8fa0@news.nbl.fi> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Injection-Info: mx04.eternal-september.org; posting-host="Jr+GCtWa+XbvmSdRpa1MLQ"; logging-data="6952"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19jlwx37aK3GaXmuLQnyY+0" User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:5.0) Gecko/20110624 Thunderbird/5.0 In-Reply-To: <4e3aaad2$0$2832$7b1e8fa0@news.nbl.fi> Cancel-Lock: sha1:Ks6h+K6GKRIcUZQEcJDkXaOK7bU= Xref: x330-a1.tempe.blueboxinc.net comp.lang.c++:8573 On 04-08-2011 PM 07:51, Juha Nieminen wrote: > itt ium wrote: >> if the vector is of big size, making a local variable will occupy lot >> of stack space and may result in stack overflow. > > Nope. There's a very simple way of seeing how much stack space an > object takes, namely: > > void foo() > { > std::vector v(10000); > std::cout<< "v is taking "<< sizeof(v)<< " bytes of stack space.\n"; > } > > Here it says "v is taking 12 bytes of stack space." > > The rest is allocated on the heap. This means, we really do not have any situation, where we should define STL containers with pointers. Container with normal variables are sufficient for most of the cases. Ittium