It seems that the way that most people find the size of a string
is they just use the my_string.size()
and it works fine. Well, I recently did an assignment for class where I did...
if (size(my_string) < 5)
store[counter].setWeight(stoi(my_string));
Instead of....
if (my_string.size() < 5)
store[counter].setWeight(stoi(my_string));
But to my suprise my instructor, who I believe is running an older compiler, wasn't able to run that line of code. On my compiler it works both ways and I'm not quite sure why.
A complete program (it outputs 4 for both):
#include <string>
#include <iostream>
using namespace std;
int main()
{
string myvar = "1000";
cout << "Using size(myvar) = " << size(myvar) << endl;
cout << "Using myvar.size() = " << myvar.size() << endl;
}
If anyone can shed some light on why my solution to the problem worked on my Machine but not my Professors? Also, I'm currently running VS2015.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…