Кажется, что большинство людей находят размер string
, они просто используют my_string.size()
, и он отлично работает. Ну, я недавно сделал задание для класса, где я это сделал...
if (size(my_string) < 5)
store[counter].setWeight(stoi(my_string));
Вместо....
if (my_string.size() < 5)
store[counter].setWeight(stoi(my_string));
Но, к моему удивлению, мой инструктор, который, как мне кажется, работает с более старым компилятором, не смог запустить эту строку кода. В моем компиляторе он работает в обоих направлениях, и я не совсем уверен, почему.
Полная программа (она выводит 4 для обоих):
#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;
}
Если кто-нибудь может пролить свет на то, почему мое решение проблемы работало на моей машине, но не мои профессора? Кроме того, в настоящее время я запускаю VS2015.