473,327 Members | 2,012 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,327 software developers and data experts.

begin() for empty STL container


If an STL container is empty, what will its begin() member function return?
Would it be a valid value that an iterator could use, like the end() member
function? In particular, can I assume that begin() == end()?
May 31 '07 #1
2 4829
On May 30, 10:28 pm, "barcaroller" <barcarol...@music.netwrote:
If an STL container is empty, what will its begin() member function return?
Would it be a valid value that an iterator could use, like the end() member
function? In particular, can I assume that begin() == end()?

Yes, but that doesn't make it valid, the container is empty.
May 31 '07 #2

"barcaroller" <ba*********@music.netwrote in message news:f3**********@aioe.org...
If an STL container is empty, what will its begin() member function return?
Would it be a valid value that an iterator could use, like the end() member
function? In particular, can I assume that begin() == end()?
begin() and end() will be equal. Both will be valid, can be assigned to iterators,
and can be used in loops, even though they do not point to actual elements:

// Not tested, but I'm
#include<iostream>
#include<list>
#include<string>
int main (void)
{
std::list<std::stringBob; // empty list
std::list<std::string>::iterator i; // iterator for list

for ( i=Bob.begin() ; i!=Bob.end() ; ++i ) // Test "i!=Bob.end()" will fail.
{
std::cout << (*i) << std::endl; // This will never be executed.
}

Bob.push_back("Sam");
Bob.push_back("Tom");

for ( i=Bob.begin() ; i!=Bob.end() ; ++i ) // Test "i!=Bob.end()" will succeed.
{
std::cout << (*i) << std::endl; // This will execute twice.
}

return 0;
}

The first loop does nothing. (Nothing to print.)

The second loop will execute twice and will print:
Sam
Tom
--
Cheers,
Robbie Hatley
lone wolf aatt well dott com
triple-dubya dott Tustin Free Zone dott org
May 31 '07 #3

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

3
by: Old Wolf | last post by:
Is this undefined behaviour: #include <string> #include <vector> #include <algorithm> int main() { std::string s; char buf;
5
by: gelbeiche | last post by:
Is ( cont.begin() == cont.end() ) essentially equivalent to writing ( cont.empty() ) for a STL container ?
11
by: food4uk | last post by:
Dear all : I am not good at programming, please give a hand. My data structure is very similar as an array. I actually can use the std::vector as container to organize my data objects. However,...
0
by: ryjfgjl | last post by:
ExcelToDatabase: batch import excel into database automatically...
0
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
0
by: Vimpel783 | last post by:
Hello! Guys, I found this code on the Internet, but I need to modify it a little. It works well, the problem is this: Data is sent from only one cell, in this case B5, but it is necessary that data...
0
by: ArrayDB | last post by:
The error message I've encountered is; ERROR:root:Error generating model response: exception: access violation writing 0x0000000000005140, which seems to be indicative of an access violation...
1
by: PapaRatzi | last post by:
Hello, I am teaching myself MS Access forms design and Visual Basic. I've created a table to capture a list of Top 30 singles and forms to capture new entries. The final step is a form (unbound)...
1
by: Defcon1945 | last post by:
I'm trying to learn Python using Pycharm but import shutil doesn't work
1
by: Shællîpôpï 09 | last post by:
If u are using a keypad phone, how do u turn on JavaScript, to access features like WhatsApp, Facebook, Instagram....
0
by: af34tf | last post by:
Hi Guys, I have a domain whose name is BytesLimited.com, and I want to sell it. Does anyone know about platforms that allow me to list my domain in auction for free. Thank you
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.